우리는 asp.net mvc를 사용하여 사이트를 구축하고 있습니다. 사용자가 쉽게 계정을 등록하고 만들 수 있도록하고 싶습니다. 그의 프로필에 등록 될 매우 특별한 정보가 있지만, 등록이 끝나고 처음 로그인하는 사람에게 보여주고 싶습니다.asp.net MVC, 페이지가없는 프로필이 등록 된 사용자를 리디렉션하는 방법?
논리는 사용자가 인증되고 유효한 프로필이없는 경우 "프로필 만들기"페이지로 리디렉션되는 URL입니다.
전체 UI는 해당 프로필 선택 사항에 따라 달라집니다. 이 워크 플로를 방문자에게 강제로 적용하기 위해 MVC 프레임 워크 내에서 어떤 접근 방식을 사용해야합니까? 내가 생각해 낼 수있는 아이디어는 콘트롤러 등에서 많은 코드 중복을 필요로하기 때문에 분명히 나쁜 생각이다.
우리는 사용자를 위해 회원 자격을 사용하고 있지만 프로필은 프로필 데이터를 사용자 ID에 연결하는 자체 구현 (프로필 공급자 없음)입니다.
나는 당신이 항상 이것을 원한다는 것을 알고있을 때 반복적으로 같은 액션 필터를 적용해야한다는 큰 부담이 있다고 생각합니다. 기본 컨트롤러로이 작업을 수행 할 것입니다 (모든 컨트롤러가 대신 해당 컨트롤러로부터 상속 받도록해야합니까?) 또는 global.asax의 시작 요청으로 이동하십시오. –
컨트롤러 또는 동작 수준에서 필터를 적용 할 수 있습니다. 컨트롤러 레벨에 적용하면 기본적으로 기본 컨트롤러에서 수행하는 것과 같습니다. 일단 당신이 항상 적용하지 않는 몇 가지 다른 필터를 가지고 있다면, 당신은 필터 메커니즘의 유연성을 이해하기 시작할 것입니다.정말 글로벌 작업 일 때만 기본 컨트롤러 메커니즘을 권하고 싶습니다. 귀하의 경우에 적용될 수 있습니다. – tvanfosson
답장을 보내 주셔서 감사합니다. 실제로 등록 된 사용자가 어디에서든지 적용해야하는 매우 특별한 것처럼 보입니다. 나는 사용자 등록에 너무 많은 부담을주지 않는 추가 사용성에 대해 지불 할 가격이라고 생각합니다. 사용자 지정 기본 컨트롤러를 사용하려면이 검사를 시행해야하는 모든 컨트롤러가 사용자 지정 ctrler를 확장해야합니다. 012andy가 제안한 것처럼 Global.asas에 로직을 넣는 것이 더 쉬울까요? –