<!--
    “protection”的值:
All:指定应用程序同时使用数据验证和加密来保护 Cookie。
None:对Cookie禁用加密和验证。
Encryption:对Cookie进行加密,但不对该 Cookie 执行数据验证。以此方式使用的 Cookie 可能会受到精选的纯文本的攻击。
Validation:指定验证方案验证已加密的 Cookie 的内容在转换中是否未被改变。
    -->
<authentication mode="None">
<forms name=".pacific" protection="Encryption" path="/" timeout="30" loginUrl="Admins/login.aspx"/>
</authentication>
        <!--  会话状态设置
          默认情况下,ASP.NET 使用 Cookie 来标识哪些请求属于特定的会话。
          如果 Cookie 不可用,则可以通过将会话标识符添加到 URL 来跟踪会话。
         若要禁用 Cookie,请设置 sessionState cookieless="true"。
    -->
    <sessionState 
            mode="InProc"
            stateConnectionString="tcpip=127.0.0.1:42424"
            sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
            cookieless="false" 
            timeout="20" 
    />
::::
::::
::::
我在显示<%= Page.User.Identity.Name %>的时候,出现的是我的机器名,而不是登陆名,这是那里错误了?

解决方案 »

  1.   

    User.Identity.Name将得到,验证通过(RedirectFromLoginPage 或SetAuthCookie)时输入的参数值,要看你登陆的时候传入的是什么.
      

  2.   

    <authentication mode="Forms">
    <!--<forms name="es" path="/" loginUrl="login.aspx" protection="All" timeout="180" />-->
        </authentication>
      

  3.   

    你登陆的时候登陆名传进去了吗?
    FormsAuthentication.SetAuthCookie(登陆名, false);
      

  4.   

    <authentication mode="forms"/>
      

  5.   

    我自己解决了,因为项目还涉及到硬件的字符串这一块,同伴加了一个<system.web>...</system.web>的键值对,我没注意到,所以又加了一对,造成现在的结果,感谢大家对我的支持,我分少,所以送得少,大家不要嫌少