안녕하세요.
우선,
다음 링크의 Administrators Policy 설정 관련 4단계를 참고해보세요.
[1]번 주석부터 [4]번 주석까지 본인이 작성한 소스와 비교해 보세요.
Administrators policy · VisualAcademy/DotNetNote@fee698d · GitHub
로그인 페이지에서 UserId를 Account로 변경하셨나요?
그 부분도 확인해보세요.
또한,
Admin 컨트롤러에는 Authorize 특성은 딱 한 번만 주면 됩니다.
[Authorize("Administrators")]
나머지 사항은
제 강의 최신 소스를 참고하세요.
https://github.com/VisualAcademy/DotNetNote
https://www.dotnetnote.com/
감사합니다.
On 2022-11-08 오전 9:48:00, '김민태' wrote:
게시판 프로젝트의 공지 올리기 과정 중 Administrators 인증에 실패해서 허용되지 않은 접근Forbidden으로 이동합니다.
POCO 세팅까지 해놔서 로그인 아이디에 따라 버튼 표시여부는 작동하지만, 클릭했을 때 작동하지 않고 인증에 실패합니다. 혹시나 싶어 정책으로 바꿔봐도 안되네요..
[Authorize("Administrators")]
[Authorize(Policy = "Administrators")]
인증을 빼버리거나 Users 정책까지만 허용하면 작동합니다.
services.Configure<DotNetNoteSettings>(Configuration.GetSection("DotNetNoteSettings"));
services.AddAuthorization(options =>
{
options.AddPolicy(
"Users", policy => policy.RequireRole("Users"));
options.AddPolicy(
"Administrators",
policy => policy.RequireRole("Users")
.RequireClaim("Account", Configuration
.GetSection("DotNetSettings")
.GetSection("SiteAdmin").Value));
});