Hi Team,
A need to use a custom cookie on my application.
What’s the best way to load a cookie saved in the browser, on my RememberMeAuthenticationProvider implementation?
Thanks,
Rafael Ratacheski
Hi Team,
A need to use a custom cookie on my application.
What’s the best way to load a cookie saved in the browser, on my RememberMeAuthenticationProvider implementation?
Thanks,
Rafael Ratacheski
Hi,
Instance of com.haulmont.cuba.web.sys.AppCookies class can be used to save and load cookies. It has simple methods:
Regards,
Gleb
Hi,
I can’t instantiate com.haulmont.cuba.web.sys.AppCookies class, because RememberMeAuthenticationProvider is in the core module.
Regards,
Rafael Ratacheski
You’re right, from the core module the AppCookies class isn’t accessible because cookies are client-specific functionality and the core module is not. In this case, I would recommend extending LoginScreenAuthDelegate (in the web module) and provide custom cookies in the overridden setRememberMeCookies method:
import com.haulmont.cuba.web.security.LoginScreenAuthDelegate;
public class CustomLoginScreenAuthDelegate extends LoginScreenAuthDelegate {
@Override
public void setRememberMeCookies(String login) {
super.setRememberMeCookies(login);
// provide custom cookies
// app.addCookie(...);
}
}
In LoginScreenAuthDelegate inheritor you don’t need to instantiate AppCookies, instead app.addCookie(...) and app.removeCookie(...) methods can be used.
Register it in the web-spring.xml:
<bean id="cuba_LoginScreenAuthDelegate"
class="com.company.demo.web.security.CustomLoginScreenAuthDelegate"
scope="vaadin"/>
Regards,
Gleb