加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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]属性或我上面链接的自定义方案.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读