2012-10-30 11 views
2

내 프로젝트에서 모든 등록 된 사용자에게 예정된 메일을 보냅니다. 지금까지 제한이 없었기 때문에 데이터베이스에서 모든 사용자를 얻었고 보안 검사없이 메일을 보냈습니다. 이제 특정 역할을 가진 사용자 만 메일을 수신해야합니다.현재 로그인하지 않은 사용자의 역할을 확인하는 방법이 있습니까?

내가 지금까지 발견 한 유일한 것은 현재 로그인 한 사용자의 역할을 확인하는 몇 가지 방법입니다. 하지만 현재 로그인하지 않은 전체 사용자 목록의 역할을 확인해야합니다.

이러한 역할에 액세스하는 방법을 알 수 없습니다. 이것이 스프링 보안으로는 가능할 지 모르겠습니다. 그렇다면 이런 종류의 문제에 대해 아는 사람이 있습니까?

도움 주셔서 감사합니다.

답변

1

'역할'이 사용자에게 무엇을 의미하는지 이해하지 못했다고 생각합니다. 일반적으로 역할은 응용 프로그램의 데이터베이스 부분에 구현됩니다. 테이블에 특성이 (id, name, sname, ...., role) (첫 번째 경우)이거나 특성이 (id, name, desc) 인 별도의 테이블로있을 수 있으며 테이블 (두 번째 경우)에 연결되는 User 테이블에 FK 테이블이있을 수 있습니다. 당신이의 구현을 짐작으로

sql = "select * from users where role = 'admin'"; //First case 

sql = "select * from users , roles where users.role_id = roles.id and roles.desc = 'admin' "; //second case 

봄이든 보안과 아무 상관이 : 당신이 role = admin 모든 사람들에게 이메일을 보낼 때

그래서, 당신은 이런 식으로 그것을 할 ...

관련 문제