1.springboot와shiro 통합, 전단과 후단 통합, 전단 데이터와 백엔드 MySQL 데이터의 상호작용, 서로 다른 사용자 권한 접근, 로그인 검증 등을 실현한다.1. 데이터베이스 디자인:user표,role표,permission표 및 중간표 tuser_role 및 trole_permission표(각각 사용자, 역할 제거, 권한을 대표), 서로 다른 사용자의 조회를 실현하기 위해 왼쪽 연결(1.select p.id, p.url, p.name from t role r left join t user role ur on (r.id = ur.rid)left join tuser u on(u.id = ur.user_id) left join t_role_permission rp on(rp.rid = r.id) left join t_permission p on(p.id = rp.pid ) where u.username = #{userName}) 2.select r.id,r.name,r.memo from t_role r left join t_user_role ur on(r.id = ur.rid) left join t_u. on (u.id = ur.user id) where u.username = #{userName}) 은 중간 테이블의 id 속성에 따라 사용자를 관리하는 데 여러 가지 권한이 있으며 테스트 사용자는 일부 조회만 표시됩니다.2. 이 프로젝트는 마벤트 프로젝트를 사용했고 필요한jar 패키지:spring-boot-shiro-authorization,shiro-spring,web,test,junit;3. shiroRealm extends AuthorizingRealm 클래스를 사용하여 사용자 역할과 권한을 필터에 로드합니다. 4.shiroConfig extends shiroFilterFactoryBean 이 클래스는 필터 요청, 사용자, 쿠키,remember 인증과 권한 수여를 실현합니다.로그인 인증 Username PasswordToken = new Username PasswordToken(username,password,rememberMe);Subject subject = SecurityUtils.getSubject(); subject.login(token); 6. 프런트엔드 디자인: jQuery를 활용하여 앞뒤 데이터 상호작용을 실현$.ajax({ type: “post”, url: ctx + “login”, data: {“username”: username,“password”: password,“rememberMe”: rememberMe}, dataType: “json”, success: function ® {if(r.code==0) {location.href = ctx +'index',//로그인 성공 페이지} else {alert(r.msg),//예외 데이터 가져오기
}
7.attribute에 대한 접근만 제한하고usercontroller와logincontroller를 설계한다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다: