0

我在登录时有以下 cookie: if (Membership.ValidateUser(UserName.Text, Password.Text)) { string userData = "ApplicationSpecific data for this user.";

            FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,
              UserName.Text,
              DateTime.Now,
              DateTime.Now.AddMinutes(30),
              isPersistent,
              userData,
              FormsAuthentication.FormsCookiePath);

            // Encrypt the ticket.
            string encTicket = FormsAuthentication.Encrypt(ticket);

            // Create the cookie.
            Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket));
            FormsAuthentication.RedirectFromLoginPage(UserName.Text, isPersistent);
        }

在受保护的页面中,我将其解密:

 HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];
FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(authCookie.Value);

并且在受保护的页面中有一个gridview 控件。

  • 当我选择从 sqldatasource 绑定 gridview 时,我需要选择 The database 并且可以使用“Where”子句。

例如:

Column : Username
Operator : =
Source : control/cookie/form/profile/queryString/session/route.

我选择 COOKIE 是因为

forms auth ticket. and the cookie name from web.config:

     <forms name=".TEST"

但不工作我得到这个错误:

Server Error in '/' Application.
Runtime Error
Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.

Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".


<!-- Web.Config Configuration File -->

<configuration>
    <system.web>
        <customErrors mode="Off"/>
    </system.web>
</configuration>


Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL.


<!-- Web.Config Configuration File -->

<configuration>
    <system.web>
        <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
    </system.web>
4

1 回答 1

0

您可以将以下内容添加到 web.config

<configuration>
    <system.web>
        <customErrors mode="Off"/>
    </system.web>
</configuration>

因为这向您显示了被隐藏的错误消息。我们目前看到的通用“错误消息被拒绝”。

或者,您可能希望查看一个更好的错误处理系统,例如ELMAH,其中将错误记录到数据库中,您仍然可以遇到限制性错误,但作为开发人员仍然能够看到它们是什么。

于 2012-07-21T11:00:15.810 回答