gpt4 book ai didi

spring - 如何使用Spring Security Core和Grails处理登录

转载 作者:行者123 更新时间:2023-12-02 14:05:07 27 4
gpt4 key购买 nike

我在grails项目中集成了spring安全内核,然后也进行了s2-quickstart。

所以我得到了所有基本的gsps,域 Controller 也是如此。

所以我在数据库中有一个ID ='me'和密码(已编码)='password'的用户,角色='ROLE_ADMIN'。

现在,我对它们具有的api类感到困惑。我需要在项目开始时显示登录页面,如果用户输入正确的ID密码,则应将其重定向到仪表板页面。为此,我编写了以下代码:

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的signIn方法的其他部分中的哪个类。

任何帮助将不胜感激...

最佳答案

spring-security为您完成所有工作。

只需将用户引导至仪表板

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

并使用 @Secured 注释DashboardController

关于spring - 如何使用Spring Security Core和Grails处理登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4191580/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com