Как обработать логин с помощью весеннего ядра безопасности и Grails - PullRequest
2 голосов
/ 16 ноября 2010

Я интегрировал ядро ​​безопасности Spring в свой проект grails, а затем s2-quickstart.

Итак, я получил все основные gsps, контроллеры домена.

Итак, у меня есть один пользовательid = 'me' и password (кодированный) = 'password' внутри базы данных с ролью = 'ROLE_ADMIN'.

Теперь я запутался с имеющимися у них классами API.Мне нужно показать страницу входа в систему в начале моего проекта, и если пользователь вводит правильный пароль для идентификатора, он должен перенаправить на страницу панели инструментов.Для этого я написал следующий фрагмент кода:

UrlMapping.groovy
=================
"/"(controller:"login", action:"auth")

LoginController.groovy
======================
class LoginController {
def authenticationTrustResolver
def springSecurityService

def index = {
       redirect(action: 'auth', params: params)
}
def auth = {
       //Checking Licensing stuff
       ....
       ....

}
def signIn = {
        if ( params.username == null )
            redirect(action: 'login')
        def config = SpringSecurityUtils.securityConfig
        if (springSecurityService.isLoggedIn()) {
            def targetUri = "/dashboard/loadDashboard"
            redirect(uri: targetUri)
    }
        else
        {
             println params.username
             println params.password

             //Don't know which class I should use here
        }
}

auth.gsp inside (login directory)
=================================
<form action='login/signIn' method='POST' id='loginForm' class='cssform' autocomplete='off'>
<label for='username'>Login ID</label>
                    <input type='text' class='text_' name='j_username' id='username' />
<label for='password'>Password</label>
                    <input type='password' class='text_' name='j_password' id='password' />
<input type='submit' value='Login' />

Так что я не знаю, как передать имя пользователя и пароль в какой класс внутри другой части метода входа в LoginController.

Любая помощь будет высоко ценится ...

1 Ответ

2 голосов
/ 16 ноября 2010

Spring-Security делает все для вас.

Просто перенаправьте пользователей на панель управления

    UrlMapping.groovy
=================
"/"(controller:"dashboard", action:"indexorwhatever")

и добавьте аннотацию @ Secured для DashboardController

...