Asp.net формирует цикл входа в систему аутентификации

Вам может понадобиться использовать для цикла здесь, с tranform, и с помощью cumsum создать ключ и назначить позицию обратно к исходному df

for x in df.columns:
    df.loc[df[x]!=0,x]=df[x].groupby(df[x].eq(0).cumsum()[df[x]!=0]).transform('count')

df
Out[229]: 
     1    2    3
0  0.0  0.0  0.0
1  4.0  0.0  0.0
2  4.0  3.0  0.0
3  4.0  3.0  2.0
4  4.0  3.0  2.0
5  0.0  0.0  0.0
6  0.0  2.0  0.0
7  0.0  2.0  0.0
8  0.0  0.0  0.0

Или без цикла for

[ 111]
7
задан Element 16 February 2009 в 20:33
поделиться

6 ответов

Проверьте, разрешен ли пользователь получить доступ к странице в returnUrl, после того, как входят в систему на login.aspx странице. Вы могли бы использовать этот метод UrlAuthorizationModule (или пользовательский, если он работает лучше всего на Вас):

System.Web.Security.UrlAuthorizationModule.CheckUrlAccessForPrincipal(

     returnUrl,
     userPrincipal, 
     GET");

Если пользователь не авторизовывается, просто перенаправьте к странице, к которой может получить доступ пользователь.

Получить пользовательский Принципал:

var roles = System.Web.Security.Roles.GetRolesForUser(username);

var principal = new System.Security.Principal.GenericPrincipal(

   new System.Security.Principal.GenericIdentity(username), 

   roles

);
2
ответ дан 7 December 2019 в 14:38
поделиться

У нас была подобная проблема, и я зафиксировал ее делающий следующее:

If "LogOut".Equals(e.CommandName) Then
    FormsAuthentication.SignOut()
    Response.Redirect("~/Login.aspx")
End If

И затем в Login.aspx мы изменяем PostBackUrl на Login.aspx, если он содержит параметр ReturnUrl, который передает пользователя обратно Login.aspx.

1
ответ дан 7 December 2019 в 14:38
поделиться

Что относительно того, чтобы добавить http модуль, который проверяет если Запрос. UrlReferrer является страницей входа в систему и раз так проверяет, разрешены ли они получить доступ к Запросу. URL и если не перенаправляет их к "Вы, не разрешен просмотреть эту страницу". страница.

0
ответ дан 7 December 2019 в 14:38
поделиться

Хотя Вы говорите, что не можете изменить имя login.aspx к обработчику HTTP, Вы попытались добавить перенаправление HTTP 301 так, чтобы каждый раз, когда login.aspx требуют, сервер перенаправил пользователя к обработчику HTTP, например, login.ashx?

0
ответ дан 7 December 2019 в 14:38
поделиться

Несколько опций...

Один, перенаправление вручную назад к Login.aspx, когда пользователь выходится из системы, таким образом, нет никакого ReturnURL. Имейте метаобновление на своих страницах, которое соответствует тайм-ауту сессии, таким образом, пользователь не нажимает на ресурсы, они внезапно не могут добраться до.

Два, всегда регистрируйте кого-то в Page_Load Login.aspx. Эй, почему нет? Я могу думать о некоторых причинах, но возможно они не относятся к Вашей ситуации.

Три, проигнорируйте ReturnURL. Вы не должны называть RedirectFromLoginPage! Перенаправьте пользователя к целевой странице по умолчанию на входе в систему.

1
ответ дан 7 December 2019 в 14:38
поделиться

Вы могли изменить поток страницы?

То, что я имею в виду, скорее затем перенаправьте назад к login.aspx странице, когда у пользователя нет доступа к ресурсу, перенаправьте их к информационной странице.

Эта страница объясняет причины перенаправления и дает им опции как:

1. Click here to login as another user.
2. Click here to request access to the page.
3. Click here to login again, if your session has expired.

Это удалило бы циклическую ссылку и таким образом проблему.

0
ответ дан 7 December 2019 в 14:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: