проблема в asp.net при проверке сеанса и перенаправления - PullRequest
0 голосов
/ 01 октября 2009

Я использую «FormsAuthentication» в Asp.net, закодированном в C # .net для проверки пользователей, Я сохраняю имя пользователя в сеансах для обработки, проблема в том, что когда я копирую URL-адрес и вставляю его в браузер Firefox, он не перенаправляет на страницу входа, Но это работает нормально в случае браузера IE. Я проверяю значения сессий и перенаправления на вход в систему, когда он не прошел проверку подлинности, работает только для IE. Мне нужно для браузера Firefox. Может ли кто-нибудь предложить мне какой-нибудь метод.

Ответы [ 2 ]

0 голосов
/ 01 октября 2009

Если вы используете FormsAuthentication, я рекомендую не объединять с Session. Эта комбинация доставила нам много боли в прошлом. Когда вы используете FormsAuthentication, вы можете вызвать Membership.GetUser (), который вернет вас с объектом MembershipUser текущего пользователя, вошедшего в систему, а если пользователь не вошел в систему, он вернет null.

Таким образом, вы можете связать свою логику перенаправления с этим и проверить, вошел ли пользователь в систему или нет. Да, вы можете оставить имя пользователя в сеансе для каких-то других целей.

0 голосов
/ 01 октября 2009

вы используете: если (User.Identity.IsAuthenticated)

вам не нужно хранить его в сеансе. Вы можете получить доступ к объекту пользователя:)

и использовали ли вы FormsAuthentication.RedirectFromLoginPage () и / или

if (!User.Identity.IsAuthenticated)
     FormsAuthentication.RedirectToLoginPage()

если вы используете элемент управления входом, у вас есть что-то в коде, подобном этому, при нажатии на элемент управления asp: login:

if (FormsAuthentication.Authenticate(username.Text, password.Text))
     FormsAuthentication.RedirectFromLoginPage(username.Text, true);

и что-то подобное в web.config:

<configuration>
  <system.web>
    <authentication mode="Forms">
      <forms loginUrl="login.aspx" protection="All" timeout="30">
        <credentials passwordFormat="Clear">
          <user name="devhood" password="password"/>
          <user name="someguy" password="password"/>
        </credentials>
      </forms>
    </authentication>
   </system.web>
</configuration>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...