asp.net-mvc-2 – 使用web.config文件在ASP.NET MVC 2中进行授权
发布时间:2020-12-16 07:22:11 所属栏目:asp.Net 来源:网络整理
导读:我有一个ASP.MVC 2网页,我的身份验证完成如下: FormsAuthentication.SetAuthCookie(user.UserName,false);FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(1,"fooPage" + user.UserName,DateTime.Now,DateTime.Now.AddMinutes(10),f
我有一个ASP.MVC 2网页,我的身份验证完成如下:
FormsAuthentication.SetAuthCookie(user.UserName,false); FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(1,"fooPage" + user.UserName,DateTime.Now,DateTime.Now.AddMinutes(10),false,String.Empty); HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName,FormsAuthentication.Encrypt(authTicket)); Response.Cookies.Add(cookie); 现在我想设置我的web.config,只有在用户通过身份验证时才能访问少量页面.我的web.config设置如下: <configuration> <system.web> <authentication mode="Forms"> <forms loginUrl="~/Account/LogIn" timeout="2880"/> //all users can access my web site </authentication> <authorization> <allow users="*"/> </authorization> </system.web> <location path="~/Views/Sales/Index.aspx"> <system.web> <authorization> <deny users="?"/> //only authenticated users can access this page </authorization> </system.web> </location> </configuration> ……但这不起作用. 我究竟做错了什么? 解决方法
将[Authorize]属性放在控制器操作上要容易得多:
public class SalesController : Controller { [Authorize] public ActionResult Index() { // etc 您还可以将属性放在控制器上,而不必将其放在每个操作方法上…… 编辑以回应您的评论:我不知道可以本地使用XML,但请查看http://www.jigar.net/articles/viewhtmlcontent324.aspx 第二次编辑,我做了一些研究和测试,可以使用默认的ASP.NET web.config东西,使用< location path =“?/ Sales / Index”>而不是< location path =“?/ Views / Sales / Index.aspx”> 但 如果有多个URL可以让你登陆同一页面,例如/,/ Home,/ Home /,/ Home / Index等,你必须非常小心 – 你不会得到所有的授权设置他们自动.我认为使用MVC感知的东西更安全,例如[Authorize]属性或我上面链接的自定义方案. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-5 – 如何检查用户是否从MVC5布局文件登录
- asp.net-mvc – 如何在单个视图中使用两个表单
- asp.net-mvc – 部分视图中的Razor部分包含
- asp.net-mvc-2 – ASP.NET MVC SiteMap
- asp.net-mvc-4 – 在ASP.NET MVC4 WebAPI中实现ETag支持
- asp.net-mvc-3 – 在渲染的部分视图中访问Viewbag数据
- asp.net-mvc-3 – 专门针对Azure的代码?
- asp.net-mvc – 通过F#代码迭代插入ASP.NET MVC4页面的View
- asp.net-mvc – 在ASP.NET MVC 4中的用户控制等效
- asp.net-mvc – 什么使Web应用程序成为触摸板友好的应用程序
推荐文章
站长推荐
- asp.net – DropDownList对于不选择值的集合
- 在提供页面之前确定ASP.NET页面视图状态的大小
- asp.net-mvc – 使用Castle Windsor在ASP.NET MV
- asp.net-mvc – 如何防止EnumDropDownListFor将0
- asp.net-mvc – 用于控件名称的参数化前缀的局部
- asp.net-mvc – 为什么Hangfire需要身份验证才能
- asp.net – 使用Elmah为WCF Webservices记录用户
- asp.net-mvc-3 – 谷歌页内分析在我的ASP.NET MV
- asp.net-mvc – MVC 4:多个控制器动作参数
- 您可以为标准ASP.NET Web窗体验证器定制客户端Ja
热点阅读