asp.net mvc3登录验证

本文详细介绍了在ASP.NET中如何设置身份验证和授权,包括在web.config中配置Forms认证,设置登录和默认URL,以及如何允许特定目录下的资源被所有用户访问。同时,提供了登录和注销的代码示例,并解释了如何在应用中获取当前登录用户的名称。
摘要由CSDN通过智能技术生成

1,在web.config中  <system.web>节点下面增加:

    <authentication mode="Forms">
      <forms name=".IndexCookies" loginUrl="~/Account/LogIn" defaultUrl="~/Home/Index" timeout="60" domain="">
      </forms>
    </authentication>
    <authorization>
      <deny users="?" />
    </authorization>

这里设置了必须登录LogIn页面,然后才会跳转到首页。

timeout为60分钟。

<deny users = "?"/>、 是拒绝匿名用户访问
<allow users= "*" /> 允许所有的用户访问包括匿名用户 

 

2,有一些js文件、css文件,需要允许所有人访问,这样登录页面才显示正常。

和<system.web>同一级,在<system.web>的上面添加下面配置:

  <location path="bootstrap">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
  </location>
  <location path="Scripts">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
  </location>

3,登录和退出代码:

        [HttpPost]
        public string Login(string user, string password)
        {
            string result = userDal.Login(user, password);
            if (result == "登录成功")
            {              
               FormsAuthentication.SetAuthCookie(user, false);
                //Session["username"] = user; 不需要通过Session来保存用户名,User.Identity.Name可以直接取到
            }
            return result;                    
        }

         [HttpPost]
        public void Logout()
        {
            FormsAuthentication.SignOut();
            //Session["username"] = null;            
            
        }

4,获取用户名使用 

User.Identity.Name

 

转载于:https://www.cnblogs.com/wang7/p/4972230.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值