小编Nos*_*nit的帖子

更改symfony2 login_check URL

我正在根据一套规范实现Symfony2解决方案.规范声明GET/login的登录表单必须重新发送到POST/login

有谁知道如何更改/ login_check的URL?我可以创建一个直接调用安全控制器的路由吗?我在安全捆绑包中看不到任何控制器.

oft_auth_login:
    pattern: /login
    defaults: { _controller: MagicSecurityBundle:Default:login_check }
    methods: [POST]
Run Code Online (Sandbox Code Playgroud)

根据security.yml的文档,

check_path(type:string,default:/ login_check)这是您的登录表单必须提交的路径或路径.防火墙将拦截任何请求(默认情况下仅POST请求)到此URL并处理提交的登录凭据.

所以我必须创建一个有效的路由,但我无法弄清楚它应该指向的位置(防火墙动作?安全行动?)或它应该做什么.

我将其更改为POST/login,但它说它无法找到它......

编辑5月30日:

现在我有一个看起来像这样的security.yml:

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

    login:
        pattern:  ^/login$
        security: false

    secured_area:
        pattern:    ^/
        anonymous: ~
        form_login:
            login_path: oft_auth_login
            check_path: oft_auth_login_check
            username_parameter: user
            password_parameter: passwd 
Run Code Online (Sandbox Code Playgroud)

和一个如下所示的routing.yml:

oft_auth_login:
    pattern: /login
    defaults: { _controller: OftAuthBundle:Default:login }
    methods: [GET]

oft_auth_login_check:
    pattern: /login
    methods: [POST]
Run Code Online (Sandbox Code Playgroud)

我可以加载的形式罚款(GET /登录),并在窗体的方法是POST,动作/登录,但是当我提出它,我得到以下错误(404,路线没有找到)

无法找到路径"/ login"的控制器.也许您忘了在路由配置中添加匹配路由?找不到404 - NotFoundHttpException

有没有人知道我需要调用什么代码/防火墙方法/以自定义check_login方法验证用户,或任何其他方式来完成我正在尝试做的事情,即访问并将登录表单发布到相同的URL(/ login).

先谢谢你,山姆

php symfony

5
推荐指数
1
解决办法
6945
查看次数

psycopg2查询参数类型

我有一个python脚本,使用psycopg2调用postgresql proc.该程序具有以下签名.

CREATE FUNCTION utility_function(p_id_file bigint, p_size bigint, p_id_volume smallint, p_id_type_file bigint, p_id_user bigint) RETURNS void
Run Code Online (Sandbox Code Playgroud)

当我使用以下代码调用它时,我收到此错误...

Traceback (most recent call last):
  File "/tmp/regenerate/regenerate.py", line 173, in <module>
    execute_process(db, out_csv, out_file, start_date, end_date, limit, offset)
  File "/tmp/regenerate/regenerate.py", line 57, in execute_process
    db.execute(sql, (id_file, size, id_volume, id_type_file, id_user))
psycopg2.ProgrammingError: function utility_function(integer, integer, integer, integer, integer) does not exist
LINE 1: select * from utility_function(13456, 132456798, 0...
                      ^
HINT:  No function matches the given name and argument types. You might need to …
Run Code Online (Sandbox Code Playgroud)

python postgresql psycopg2

4
推荐指数
1
解决办法
1836
查看次数

使Dictionary方法参数默认为空字典而不是null

我有一个Dictionary<string, string>方法参数,我想知道是否有办法让它默认为空字典而不是null.我更喜欢总是有一个空的列表/字典/ IEnumerable而不是null.我尝试将参数设置为:

Dictionary<string, string> dictionary = default(Dictionary<string,string>);
Run Code Online (Sandbox Code Playgroud)

但评估结果是null.

有没有办法让默认的Dictionary变空?

c# dictionary default

4
推荐指数
1
解决办法
6552
查看次数

标签 统计

c# ×1

default ×1

dictionary ×1

php ×1

postgresql ×1

psycopg2 ×1

python ×1

symfony ×1