zoukankan      html  css  js  c++  java
  • asp.net mvc3登录验证

    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
  • 相关阅读:
    1.20 测试嵌套对象使用Object.defineProperty是否有效?
    1.6 对象解构赋值机制
    12.26 sessionStorage与locaStorage的区别(作用域、生命周期)
    break,continue,return 区别
    过滤关键词
    ES6 笔记
    Cesium 学习笔记
    Cesium 学习笔记
    【vue】清理代码
    《CSS世界》读书笔记(十六)
  • 原文地址:https://www.cnblogs.com/wang7/p/4972230.html
Copyright © 2011-2022 走看看