Subversion Repositories SmartDukaan

Rev

Rev 22627 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
5110 mandeep.dh 1
/**
2
 * 
3
 */
4
package in.shop2020.inventory.controllers;
5
 
6
import in.shop2020.serving.auth.InventoryAuthorizingRealm;
7
import in.shop2020.thrift.clients.HelperClient;
8
import in.shop2020.utils.HelperService.Client;
9
 
22627 amit.gupta 10
import javax.servlet.http.Cookie;
11
 
5110 mandeep.dh 12
import org.apache.shiro.SecurityUtils;
13
import org.apache.shiro.crypto.hash.Sha256Hash;
14
import org.apache.struts2.convention.annotation.Result;
15
import org.apache.thrift.TException;
16
 
17
/**
18
 * @author mandeep
19
 * This class manages all the login related updates for a user.
20
 */
21
@Result(name="loginPage", location="/login.html")
22
public class LoginController extends BaseController {
23
 
24
    /**
25
     * 
26
     */
27
    private static final long serialVersionUID = 1L;
28
 
29
    private String password; 
30
 
31
    public String updatePassword() throws TException
32
    {
33
        Client helperClient = new HelperClient().getClient();
34
        helperClient.updatePasswordForAgent(SecurityUtils.getSubject().getPrincipal().toString(), new Sha256Hash(password).toHex());
35
        addActionMessage("Password changed successfully!");
36
 
37
        // Dummy call to reload agents
38
        InventoryAuthorizingRealm.getAgent(-1);
39
        return INDEX;
40
    }
41
 
42
    public String logout()
43
    {
44
        log.info("Logging out!");
45
        SecurityUtils.getSubject().logout();
22627 amit.gupta 46
        Cookie[] cookies = request.getCookies();
47
        for (Cookie cookie : cookies) {
48
            cookie.setMaxAge(0);
49
            cookie.setValue(null);
50
            cookie.setPath("/inventory");
51
            response.addCookie(cookie);
52
        }
53
 
5110 mandeep.dh 54
        return "loginPage";
55
    }
56
 
57
    public String getPassword() {
58
        return password;
59
    }
60
 
61
    public void setPassword(String password) {
62
        this.password = password;
63
    }
64
 
65
    public static void main(String[] args) {
23081 amit.gupta 66
            System.out.println(new Sha256Hash("neeraj@123").toHex());
5110 mandeep.dh 67
    }
68
}