프로덕션 환경에서 응용 프로그램은 404 오류 페이지를 매핑 할 수 없으며 스프링 보안 플러그인은 항상 로그인 페이지로 리디렉션하고 302 오류를 반환합니다-일시적으로 이동 됨-tomcat 로그 액세스) :
1) 오류 컨트롤러
@Secured(['permitAll'])
class ErrorsController {
def error401() {
render view: '401'
}
def error403() {
render view:'403'
}
def error404() {
render view:'404'
}
def error500() {
render view:'error'
}
def error503() {
render view:'503'
}
}
2) URL 매핑
static mappings = {
"/" {
controller = "dashboard"
action = { 'index' }
view = { 'index' }
}
"/$controller/$action?/$id?"{
constraints { controller(matches:/^((?!(api|mobile|web)).*)$/) }
}
"401"(controller: "errors", action: "error401") // session timeout
"403"(controller: "errors", action: "error403")
"404"(controller: "errors", action: "error404")
"500"(controller: "errors", action: "error500")
"500"(controller: "errors", action: "error403", exception: AccessDeniedException)
"500"(controller: "errors", action: "error403", exception: NotFoundException)
}
따라서 프로덕션 모드에서만 잘못된 URL 패턴을 생성 할 때 "404"로의 리디렉션을 해결할 수 없습니다. 어떤 생각?
보안을 비활성화하지 않습니다. 전체 구성을 게시하는 것을 생략했습니다.
'/': ['IS_AUTHENTICATED_ANONYMOUSLY'],
'/**': ['IS_AUTHENTICATED_ANONYMOUSLY'],
'/login/auth': ['IS_AUTHENTICATED_ANONYMOUSLY'],
'/index': ['permitAll'],
'/index.gsp': ['permitAll'],
'/**/_common/**/': ['permitAll'],
'/**/_menu/**/': ['permitAll'],
'/console/**/': ['permitAll'],
'/contact/**/': ['permitAll'],
'/dashboard/**/': ['permitAll'],
'/jcaptcha/**': ['permitAll'],
'/demo/**/': ['permitAll'],
'/errors/**/': ['permitAll'],
'/features/**/': ['permitAll'],
'/layouts/**/': ['permitAll'],
'/service/**/': ['permitAll'],
'/siteinfo/**/': ['permitAll'],
'/store/**/': ['permitAll'],
'/support/**/': ['permitAll'],
'/**/js/**': ['permitAll'],
'/**/css/**': ['permitAll'],
'/**/less/**': ['permitAll'],
'/**/images/**': ['permitAll'],
'/admin/**': ['ROLE_SUPERADMIN'],
'/affiliates/**': ['ROLE_SUPERADMIN'],
'/billing/**': ['ROLE_SUPERADMIN'],
'/dataStore/**': ['ROLE_SUPERADMIN'],
'/requestmap/**': ['ROLE_SUPERADMIN'],
'/user/**': ['ROLE_SUPERADMIN'],
'/userRole/**': ['ROLE_SUPERADMIN'],
'/role/**': ['ROLE_SUPERADMIN'],
'/quartz/**': ['ROLE_SUPERADMIN'],
'/invoice/**': ['ROLE_SUPERADMIN'],
'/billing/**': ['ROLE_SUPERADMIN'],
'/orders/**': ['ROLE_SUPERADMIN'],
'/profile/**': ['ROLE_SUPERADMIN'],
'/pack/**': ['ROLE_SUPERADMIN'],
'/statistics/**': ['ROLE_SUPERADMIN'],
'/uploadedItems/**': ['ROLE_SUPERADMIN'],
'/secure/**': [
'ROLE_ADMIN',
'ROLE_CUSTOMER'
],
'/contacts/**': [
'ROLE_ADMIN',
'ROLE_USER',
'ROLE_GROUP_OWNER'
],
'/files/**': [
'ROLE_ADMIN',
'ROLE_USER',
'ROLE_GROUP_OWNER',
'ROLE_EDITOR',
'ROLE_UPLOADER',
'ROLE_READER'
],
'/notes/**': [
'ROLE_ADMIN',
'ROLE_USER',
'ROLE_GROUP_OWNER',
'ROLE_EDITOR',
'ROLE_UPLOADER',
'ROLE_READER'
],
'/toolbox/**': [
'ROLE_ADMIN',
'ROLE_USER',
'ROLE_GROUP_OWNER',
'ROLE_EDITOR',
'ROLE_UPLOADER',
'ROLE_READER']
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다