MVC 3.0 身份认证
2012-08-23 00:34
176 查看
@Html.Partial("_LogOnPartial") /////这样简单的引用就可以将其他页面作为一个控件引用到该页面来。
FormsAuthentication.SetAuthCookie(userName, createPersistentCookie); //登录,创建Cook
FormsAuthentication.SignOut(); //注销
HashPasswordForStoringInConfigFile
http://msdn.microsoft.com/zh-cn/library/system.web.security.formsauthentication.hashpasswordforstoringinconfigfile
权限判断
我觉得是在页面验证之后要授权时,该方法在全局的Global.asax中,我们需要委托该事件。
委托时我们再去根据当前用户获取角色,或者此时早已经将角色获取好了,只是加入到系统的Context之用。
代码
然后我们在UserController只用需要权限的方法上加上对应的[Authorize]标志即可
如代码
如果你觉得,这样只是对于登录后所有的人有效,而你需要对指定的角色有效,你可以尝试用下面的方法。
代码如下
此时如果你的用户不是admin那么你就请求不了该Create方法
FormsAuthentication.SetAuthCookie(userName, createPersistentCookie); //登录,创建Cook
FormsAuthentication.SignOut(); //注销
HashPasswordForStoringInConfigFile
http://msdn.microsoft.com/zh-cn/library/system.web.security.formsauthentication.hashpasswordforstoringinconfigfile
权限判断
我觉得是在页面验证之后要授权时,该方法在全局的Global.asax中,我们需要委托该事件。
委托时我们再去根据当前用户获取角色,或者此时早已经将角色获取好了,只是加入到系统的Context之用。
代码
public MvcApplication() { AuthorizeRequest += new EventHandler(MvcApplication_AuthorizeRequest); } void MvcApplication_AuthorizeRequest(object sender, EventArgs e) { IIdentity id = Context.User.Identity; if (id.IsAuthenticated) { var roles = new UserBusiness().GetRoles(id.Name); string[] rolelist = new string[] { roles.Name }; Context.User = new GenericPrincipal(id, rolelist); } }
然后我们在UserController只用需要权限的方法上加上对应的[Authorize]标志即可
如代码
//新建 // GET: /User/Create [Authorize] public ActionResult Create() { return View(); }
如果你觉得,这样只是对于登录后所有的人有效,而你需要对指定的角色有效,你可以尝试用下面的方法。
代码如下
//新建 // GET: /User/Create [Authorize(Roles="admin")] public ActionResult Create() { return View(); }
此时如果你的用户不是admin那么你就请求不了该Create方法
相关文章推荐
- (转)Asp.Net MVC中身份认证和授权
- Asp.Net MVC中身份认证和授权
- 我要学ASP.NET MVC 3.0(十): MVC 3.0 使用 Forms身份验证
- ASP.NET MVC 身份认证之Forms认证
- Asp.Net MVC中身份认证和授权
- MVC 4.0身份认证杂篇
- Asp.Net MVC中身份认证和授权
- 我要学ASP.NET MVC 3.0(十): MVC 3.0 使用 Forms身份验证
- ASP.NET MVC 3.0:基于Ajax的表单提交,A页面认证失败后页面被强转至登录页面,待登录成功将如何回到A页面?
- ASP.NET MVC 3.0:基于Ajax的表单提交,A页面认证失败后页面被强转至登录页面,待登录成功将如何回到A页面?
- ASP.NET MVC 身份认证
- ASP.NET MVC 3.0:基于Ajax的表单提交,A页面认证失败后页面被强转至登录页面,待登录成功将如何回到A页面?
- ASP.NET MVC 3.0(十): MVC 3.0 使用 Forms身份验证
- asp.net mvc forms身份认证
- Asp.Net MVC中身份认证和授权
- (转)ASP.NET MVC 3.0:基于Ajax的表单提交,A页面认证失败后页面被强转至登录页面,待登录成功将如何回到A页面?
- MVC 3.0错误 HTTP 404您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用。请检查以下 URL 并确保其拼写正确。
- ASP.NET MVC:窗体身份验证及角色权限管理示例
- 身份认证,权限控制,导航数据,日志管理