- C# code
<!-- “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 %>的时候,出现的是我的机器名,而不是登陆名,这是那里错误了?
------解决方案--------------------------------------------------------
User.Identity.Name将得到,验证通过(RedirectFromLoginPage 或SetAuthCookie)时输入的参数值,要看你登陆的时候传入的是什么.
------解决方案--------------------------------------------------------
<authentication mode="Forms">
<!--<forms name="es" path="/" loginUrl="login.aspx" protection="All" timeout="180" />-->
</authentication>
------解决方案--------------------------------------------------------
你登陆的时候登陆名传进去了吗?
FormsAuthentication.SetAuthCookie(登陆名, false);
------解决方案--------------------------------------------------------
- C# code
<authentication mode="forms"/>