2

この繰り返しの質問をする最初の謝罪ですが、私はその中で多くの混乱を抱えています..

実際、私の春のアプリケーションには、Home.jsp、login.jsp、LoginController.java、LoginForm があります。(Login.jsp には Home.jsp が含まれていると聞きます) Login.jsp:

    <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<fieldset id="signin_menu">
    <form:form action="login/processLogin" modelAttribute="LOGIN">
        <label for="username">Username or email</label>
        <form:input path="userName" tabindex="4" />
        </p>
        <p>
            <label for="password">Password</label>
            <form:password path="password" tabindex="5" />
        </p>

        <p class="remember">
            <input id="signin_submit" value="Sign in" tabindex="6" type="submit">
            <form:checkbox path="remember" id="remember" name="remember_me"
                value="1" tabindex="7" />
            <label for="remember">RememberMe</label>
        </p>
    </form:form>
</fieldset>

ログインフォーム:

public class LoginForm {
private String userName;
private String password;
private boolean remember;
//Setter and getter}

LoginController.java

@Controller
@RequestMapping(value="login")
public class LoginController {
    @Autowired
    private UserService userService;
    @Autowired
    private SessionData sessionData;

    @RequestMapping(value = "processLogin", method = RequestMethod.POST)
    public String processLogin(LoginForm loginForm, BindingResult result,
            Model model) {

        if (userService.authenticateUser(loginForm.getUserName(),
                loginForm.getPassword())) {
            sessionData.setUser(userService.getUser(loginForm.getUserName()));
        }
        model.addAttribute(FormType.LOGIN.name(), loginForm);
        return "redirect:/home";
    }}

サーバーを起動するhttp://localhost:8080/EClass/home とき: ログイン ボタン (Login.jsp) をクリックしてSubmitボタン リクエストをクリックすると、ホームページにリダイレクトされ、再び URL が表示されます。http://localhost:8080/EClass/home

つまり、それを取得するための Cookie はないと聞いてください。この状況のオプション..

私は本当にこの点で立ち往生しています..だから私を助けてください..

4

2 に答える 2

0

Spring のセキュリティを理解し、remember me running を取得するには、多くの作業 (主にドキュメントとチュートリアルを読む) が必要になりますが、それを行う価値は十分にあります。

春のセキュリティホームページから始めてください。彼らには良い入門セクションがあります.

もう少し時間があり、Spring セキュリティがどのように機能するかを理解したい場合は、Spring Security 3.1 bookを読むことを強くお勧めします。


あなたが尋ねた

「Remember Me?」の操作方法 JavaでCookieを使わない機能性?

答え: いいえ -- ユーザー/クライアントを識別するために Cookie が必要です。


もう 1 つの非常に重要なヒント: 春のセキュリティに関するチュートリアル、ドキュメントなどを探す場合は、それらがバージョン 3.x を参照していることを確認してください! (バージョン 2.x 以前の「acegi」はバージョン 3 とは大きく異なります)

于 2013-03-28T10:01:17.187 に答える
0

「remember me」機能はspring security framewokによって提供されます。これは、Spring ベースのアプリケーションで認証と承認を行う場合に必須です。

于 2013-03-28T10:02:17.557 に答える