首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Symfony-2.0错误的登录重定向url

Symfony-2.0错误的登录重定向url
EN

Stack Overflow用户
提问于 2012-03-08 20:34:43
回答 1查看 1.2K关注 0票数 0

我的symfony 2.0应用程序有问题。我无法通过谷歌找到正确的解决方案,所以我来到这里:)

我试过创建一个登录表单。这是我的security.yml文件:

代码语言:javascript
复制
security:
encoders:
    Domicon\AdminBundle\Entity\User:
        algorithm: sha1
        encode_as_base64: false
        iterations: 10

providers:
    admin:
        entity: { class: DomiconAdminBundle:User, property: email }

role_hierarchy:
    ROLE_ADMIN:       ROLE_USER
    ROLE_SUPER_ADMIN: ROLE_ADMIN

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

    admin_area:
        pattern:    ^/admin.*
        form_login:
            check_path: /admin/login_check
            login_path: /admin/login
        logout:
            path:   /admin/logout
            target: /admin
        anonymous: ~
        logout: true
        http_basic:
            realm: "Secured Admin Area"
        provider: admin 

access_control:
    - { path: ^/admin/login.*, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/admin.*, role: ROLE_ADMIN }

我的控制器的代码看起来像Symfony2.0docs http://symfony.com/doc/current/book/security.html#using-a-traditional-login-form中的代码

我的路线

代码语言:javascript
复制
DomiconAdminBundle_login:
pattern:  /login
defaults: { _controller: DomiconAdminBundle:User:login }

DomiconAdminBundle_login_check:
    pattern:   /login_check

登录表单显示正确,但如果我提交表单,应用程序将重定向回登录表单,而url已更改为

http://localhost/Domicon/web/app_dev.php/admin/login?_username=admin&_password=pass

我没有任何错误或者其他任何事。我不明白为什么我没有错误,为什么url改为这个。

EN

回答 1

Stack Overflow用户

发布于 2012-04-23 12:27:05

我认为您忘了在<form>标记中给出操作,如果登录成功,您需要告诉在哪里重定向。

另外,我注意到您在routing.yml中给了routing.yml,在security.yml中给了/admin/登录。

第三个是login_path: /admin/login_check security.yml和routing.yml

/login_check。

在/login中将routing.yml更改为/admin/登录

将/login_check更改为/admin/ routing.yml中的登录签入

代码语言:javascript
复制
<form action="{{ path('DomiconAdminBundle_login_check') }}" method="post">
  <div>  
    <label for="username">Username:</label>
    <input type="text" id="username" name="_username" value="{{ last_username }}" />
    </div>
  <div> 
    <label for="password">Password:</label>
    <input type="password" id="password" name="_password" />
</div>
    {#
        If you want to control the URL the user is redirected to on success #}
        <input type="hidden" name="_target_path" value="/yourredirectpath" />


    <input type="submit" name="login" value="Submit" />
</form>

希望这能有所帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9624512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档