• 关于启明星系统(OA系统,预定系统,请假系统等)开始ASP.NET身份验证


    启明星系统推荐是安装在内网里,因此,系统采用了较为简单的身份验证。对于放在公网里的启明星系统,请务必开启ASP.NET身份验证功能。

    身份验证与授权其实是安全的两个方面:所谓身份验证,就是你有没有钥匙进入房间,所谓授权,就是你进入房间可以打开哪个抽屉。

    开启启明星身份验证相当于让攻击装无法进入房间,自然无法攻击。但是,如果攻击者进入房间后,就可能执行SQL注入。

    要开启身份验证,只要在web.config里增加如下配置即可。

     

    另外,还需要让用户将密码复杂度设置复杂些,否则,就如同虚设。如下,

        <asp:RegularExpressionValidator ControlToValidate="txt_pwd" ValidationExpression="^.*(?=.{8,})(?=.*[d])(?=.*[W]).*$" 
                 runat="server" ID="pwd_rule" ErrorMessage="密码必须8位,必须包含一个数字和一个特殊字符"></asp:RegularExpressionValidator>
    

     以上配置将强制IIS采用ASP.NET内置身份验证,安全性极高!!

      

    -------------------------------------以下不是必须,仅供部分用户需要方便使用。-----------------------------------------------------------------------------------

    对于放到公网上的用户,上面基本上能给很好的满足系统的安全性。不过可能希望系统自动记住用户登录名和密码。其实在我们的登录代码里

       HttpContext.Current.Response.Cookies[FormsAuthentication.FormsCookieName].Path = path;
       HttpContext.Current.Response.Cookies[FormsAuthentication.FormsCookieName].Expires = DateTime.Now.AddDays(7);
    

     可是你会发现已经让浏览器记住账户了,但是当增加了 <deny users="?" /> 后,系统似乎记不住cookie,基本上没半天访问还是需要登录。

    这是因为ASP.NET会在系统运行时,会自动生成随机的计算机密钥。您可以通过如下方法,来强制ASP.NET使用唯一密钥。

    打开IIS。左边选择你的应用程序。然后在右边找到计算机密钥

    从图中可以看到,在应用程序每次运行时,系统都随机生成一个计算机密钥。

    单击右边的“生成密钥”

    单击应用

    此时,系统会自动在web.config增加machieKey密钥。这样,使用Form身份验证,就可以记住您的账户了。

    安全与方便总是矛盾的,采用固定密钥方便了登录,但是如果密钥被公开,可能安全性会稍微降低。

  • 相关阅读:
    titanium开发教程0107分组和嵌套view
    titanium开发教程0103理解windows和views
    titanium开发教程0202创建按钮
    titanium开发教程0106理解 ZDepth
    titanium开发教程0204创建开关
    titanium开发教程0201监听事件
    Flex更改Image
    R语言中统计数据框中指定字符出现的次数
    linux shell实现将匹配字符行的最后一个字符替换为指定字符
    plink 软件中 updatemap 命令
  • 原文地址:https://www.cnblogs.com/mqingqing123/p/5453480.html
Copyright © 2020-2023  润新知