메신저 FriendlyFormPlugin을 사용하고 있지만 request.params의 일부로 입력 한 사용자 이름을 검색하려고하지만 더 이상 확인하지 않습니다. 이 방법은 비밀 번호가 잘못된 경우 사용자 이름에 대한 기본 설정할 수 있습니다. 덕분에잘못된 사용자/비밀번호 repoze.who를 정상적으로 처리하십시오. Python/Pylons에있는
0
A
답변
3
당신이해야 할 일은 미들웨어를 설정할 때 게시 로그인 처리기 동작을 설정하는 것입니다. 그런 다음 매개 변수를 확인하고 세션 변수를 설정할 수 있습니다. 사용자에게 로그인이 실패했다는 메시지를 만들기 위해 여기에 연결해야했습니다. 로그인 양식에서 'login_failed'매개 변수를 확인합니다. 자세한 내용은 응답에서
def post_login(self):
""" Handle logic post a user's login
I want to create a login_handler that's redirected to after login. This would
check
- if user was logged in, if not then send back to login
- if user is admin, go to job list
- adjust the max age on the existing cookie to XX remember me timeframe
"""
if auth.check(not_anonymous()):
log.debug('checked auth')
else:
# login failed, redirect back to login
log.debug('failed auth')
redirect_to(controller="root", action="login", login_failed=True)
# expire this cookie into the future
ck = request.cookies['authtkt']
response.set_cookie('authtkt', ck,
max_age=60*60*24*7,
path='/'
)
redirect_to(controller="job", action="list")
, 너무 큰 다른 주석으로 추가 :
그래서 나는 당신이 볼 수있는 몇 가지있어. 첫째, 내가이 물건이 어떻게 작동하는지 다른 DEVS으로 설명 할 수있는 repoze '요약'으로 쓰고 있어요 내 문서입니다/용어 사용 :
http://72.14.191.199/docs/morpylons/auth_overview.html
내가 repoze의 SQL 빠른 시작 플러그인을 사용하여 시작 : http://code.gustavonarea.net/repoze.what-quickstart/
그런 다음 우리의 응용 프로그램에서 SQL과 LDAP 인증을 모두 수행하기 때문에 setup_sql_auth를 추출하여 필요에 맞게 수정했습니다. setup_sql_auth의 플러그인 소스를 살펴보고 실제로 무엇을하는지 이해할 때까지 살펴보십시오.
및 미들웨어 구성에 요청 이후
은 ...app = setup_morpace_auth(app, User, Group, Permission, meta.Session,
post_login_url='/root/post_login',
post_logout_url='/login',
log_level='debug',
log_file='stdout'
)
유는 파이썬에서 middleware.py에서이를 처리하는 방법을 보일 수 있는가? 메신저 – Timmy
Ok, 설정시 추가 메모/세부 정보가 포함되도록 답변을 업데이트했습니다. – Rick
감사합니다. – Timmy