Remember me Functionality is not working in Symfony2

541 views Asked by At

I am done changes as per symfony 2 docs in security.yml but it is not working. Dont know where it is breaking. After logout it is not rendering username in input box of login form. Kindly help me out.

security.yml file:

security: encoders: trex\EntityBundle\Entity\Users: plaintext

role_hierarchy:
    ROLE_ADMIN:       ROLE_USER
    ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]

providers:
    main:
        entity:
            class: trex\EntityBundle\Entity\Users
            property: username

firewalls:
    dev:
        pattern:  ^/(_(profiler|wdt)|css|images|js)/
        security: false

    login:
        pattern:  ^/login$
        security: false

    deteleRole:
        pattern:  ^/role/deleteRole$
        security: false

    #deteleCandidate:
       # pattern:  ^/candidates/delete$
       # security: false

    deteleUser:
        pattern:  ^/users/delete$
        security: false

    forgotPassword: 
       pattern: ^/forgot-password$
       security: false

    secured_area:
        pattern:    ^/
        form_login:
            check_path: login_check
            login_path: login
            default_target_path: default_security_target
            remember_me: true
        logout:
            path:   logout
            target: login
        remember_me:
            key: trex-kharadi6
            lifetime: 604800
            always_remember_me: true
            remember_me_parameter: _remember_me
            path: /
            domain: ~

access_control:
    - { path: ^/secured_area, roles: ROLE_ADMIN }
    - { path: ^/secured_area, roles: ROLE_ADMIN }
    #- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }

Here is my login.html.twig

                    <div class="input-prepend"  data-rel="tooltip" style="margin-left: -12%; width:75%;">
                        <label class="control-label" for="focusedInput">Username <span class="red">*</span></label>
                        <input autofocus class="input-large span10" name="_username" data-validation="required" id="username" type="text" value="{{ last_username }}" style="float:left; width:55%; margin-left:5%;" />
                    </div>
                    <div class="clearfix"></div>

                    <div class="input-prepend"  data-rel="tooltip" style="margin-left: -12%; width:75%;">
                        <label class="control-label" for="focusedInput">Password <span class="red">*</span></label>
                        <input class="input-large span10" name="_password" id="password" data-validation="required" type="password" style="float:left; width:55%; margin-left:5%;" />                               
                    </div>
                    <div class="clearfix"></div>
                    <div class="input-prepend">
                        <label class="remember" for="remember"><input type="checkbox" name="_remember_me" id="remember_me" checked/>Remember me &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="{{path('forgotPassword')}}">Forgot password?</a></label>
                    </div>


                    <p class="center span5">
                        <button type="submit" class="btn btn-primary" style="width:45%;">Login</button>
                    </p>

                </fieldset>
            </form> 
1

There are 1 answers

2
Srdjan On

This functionality isn't for rendering username in input box of login form.

Remember me functionality is allowing user to stay logged in for longer than the session lasts using a cookie. If user check remember me checkbox during the login, cookie will be saved in browser and next time when he visit the site he will be automatically logged in. If user is logout, he have to repeat login process through the form again