asp.net-mvc – ASP.NET MVC2和MemberShipProvider:它们如何结
我有一个包含大量用户和大型数据库的现有ASP.NET应用程序.现在我想在MVC 2中使用它.我不想迁移,我从头开始或多或少地进行迁移.我想保留的数据库,而不是太多.
我已经有了我的数据库表,我也希望将LINQ保留在SQL层.我在当前的实现中没有使用MembershipProvider(在ASP.NET 1.0中没有得到强烈支持). 所以,要么我写自己的Membershipprovider来满足我的数据库和应用程序的需要,要么我根本不使用membershipprovider. 如果我不使用会员提供者,我想了解后果.与此相关的是什么?据我所知,在ASP.NET中,Login-Controls链接到提供者.可以轻松更改使用MVC2自动生成的AccountModel以支持我现有的逻辑. 当用户被AuthCookie识别时会发生什么? MVC是否使用MembershipProvider? 我忽略了什么吗? 非常感谢输入. 解决方法
使用MVC,可以简单地绕过成员资格和角色提供程序框架.有时这样做比实现自定义成员资格/角色提供程序更容易,特别是如果您的authn / authz模型不太适合这些提供程序的模型.
首先,您应该意识到您不需要从头开始编写所有内容,您可以使用核心Forms身份验证API,它可以独立于成员资格/角色提供程序框架使用: > FormsAuthentication.SetAuthCookie – 所以这是你在MVC中绕过会员/角色提供者所做的事情: >身份验证:在您的身上控制器,验证用户使用您的自定义逻辑.如果成功,打电话FormsAuthentication.SetAuthCookie用户名.>授权:创建自定义授权属性(源自AuthorizeAttribute).在里面AuthorizeCore覆盖,实现你的自定义授权逻辑,吸引用户HttpContext.Current.User.Identity.Name以及角色中定义的角色AuthorizeAttribute基类的属性.请注意,您还可以在自定义上定义属性授权属性并在授权逻辑中使用它.例如,您可以将表示角色的属性定义为枚举值特定于您的应用程序,而不是使用仅仅是字符串的Roles属性.>将您的控制器和操作添加到您的自定义授权属性,而不是默认的授权属性. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 什么是适当的时间为ViewData,ViewBag,会话,
- asp.net – 使用Html.TextBox添加css类
- asp.net – Web.config加密错误
- asp.net – 为什么Web API请求的正文读取一次?
- asp.net-mvc – 使用令牌重置Identity 2.0 sms密码
- asp.net中mvc使用ajax提交参数的匹配问题解决探讨
- asp.net mvc中Forms身份验证身份验证流程
- .net – 使用COM注册托管程序集而不使用GAC
- asp.net-mvc – 在ASP.NET MVC的查询字符串中使用DateTime创
- 有没有办法以编程方式设置ASP.NET Universal Providers的连
- asp.net-mvc – 如何使用ASP.NET MVC和表单身份验
- asp.net-mvc – 生成的视图中的模型值错误
- 一个通过JSONP跨域调用WCF REST服务的例子(以jQ
- ASP.NET OOP-关联操作符重载的操作_RelationalOp
- asp.net-mvc – 用于ASP.NET MVC的Spark T4模板
- asp.net-mvc – Asp.net Mvc:Ninject – IPrinc
- 如何在ASP.NET中使用log4net在日志文件中包含Ses
- entity-framework-4.1 – Asp.net MVC 4,如何以相
- iis-7 – 经典ASP突然给我权限(401.3)错误
- 通过ASP.NET Web应用程序上载500MB文件