1

古巴有自己的后端系统来添加用户。现在我需要在前端编写一个用户注册。我用的古巴版本是6.9 我知道这个版本的加密是SHA1:https://doc.cuba-platform.com/manual-6.9/login.html 现在我的问题是: 不知道怎么设置数据库的加密密码。

我通过元数据创建一个实体

User user = metadata.create(User.class);
user.setPassword(passWord);
4

2 回答 2

1

我不确定这是最好的选择,但我使用了以下代码:

@Inject
protected PasswordEncryption passwordEncryption;

...

user.setPassword(passwordEncryption.getPasswordHash(user.getId(), password));
于 2019-04-03T11:13:27.140 回答
0

我认为您只需要使用以下代码创建 html 文件:

<div class="span6">
    <h3>Login</h3>

    <div th:if="${(param.error != null)}">
        <p>Invalid username / password</p>
    </div>

    <form id="f" name="f" method="POST" action="login">
        <input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
        <div>
            <div>
                <label style="width: 80px" for="login">Login</label>
                <input type="text" id="login" name="login" value=""/>
            </div>
            <div>
                <label style="width: 80px" for="password">Password</label>
                <input type="password" id="password" name="password" value=""/>
            </div>
        </div>
        <button type="submit">Login</button>
    </form>
</div>

然后从控制器请求它:

@RequestMapping(value = "/", method = RequestMethod.GET)
    public String index(Model model) {
        if (PortalSessionProvider.getUserSession().isAuthenticated()) {
            LoadContext l = new LoadContext(User.class);
            l.setQueryString("select u from sec$User u");
            model.addAttribute("users", dataService.loadList(l));
        }
        return "index";
    }
于 2019-10-31T11:57:43.687 回答