在 symfony 中设置自定义错误重定向?

发布于 2024-10-02 15:07:49 字数 486 浏览 3 评论 0原文

我使用 Symfony 1.4 和 Propel 作为 ORM。我为我的前端页面创建了一个登录系统,用户可以在其中登录并编辑帐户详细信息。该页面设置为权限=“用户”和组=“用户”。但是,当使用不属于该组的用户登录时,会重定向到 symfonys 默认页面(显示用户没有凭据来查看此页面)。 这些页面可以自定义并设置我们自己的自定义消息..我们如何设置自定义错误页面?

我使用过的代码,

if($this->getContext()->getUser()->hasCredential("user"))
{
    $user_name=$this->getUser()->getGuardUser()->getUsername();
    $this->name=$user_name;
}
else
{
    $this->forward("userlogin", "error");
}

但我不知道这是最好的方法..

I am using Symfony 1.4 with Propel as ORM. I Have created a login system for my frontend page, where user can login and edit there account details.The page is set with Permission ="user" and Group ="user". But on loging in with a user which doesnot belong to this group, redirects to the symfonys default page(showing user dont have credentials to view this page).
can these pages be customized and set our own custom messages..and how can we set custom error pages??

the code that i have used,

if($this->getContext()->getUser()->hasCredential("user"))
{
    $user_name=$this->getUser()->getGuardUser()->getUsername();
    $this->name=$user_name;
}
else
{
    $this->forward("userlogin", "error");
}

but i dont know this is the best way..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

弥繁 2024-10-09 15:07:49

您可以通过在应用程序中覆盖模板来更改模板:
apps//modules/default/templates/error404Success.php

要查看可能的模板列表,请查看:
lib/vendor/symfony/lib/controller/default/templates/

现在介绍凭据。在文件 apps//config/settings.yml 中:

# ...

all:
  # ...

  .actions:
    login_module:           sfGuardAuth   # Change this to whatewer You want.
    login_action:           signin        # Change this to whatewer You want.

    error_404_module:       default       # Change this to whatewer You want.
    error_404_action:       error404      # Change this to whatewer You want.

因此,如果您只想更改模板 - 仅更改模板。但如果您想要更强大的功能 - 更改 settings.yml 并编写自定义代码。

You can change templates by overwriting them in Your app:
apps/<appname>/modules/default/templates/error404Success.php

To see list of possible templates look at:
lib/vendor/symfony/lib/controller/default/templates/

Now about credentials. At file apps/<appname>/config/settings.yml:

# ...

all:
  # ...

  .actions:
    login_module:           sfGuardAuth   # Change this to whatewer You want.
    login_action:           signin        # Change this to whatewer You want.

    error_404_module:       default       # Change this to whatewer You want.
    error_404_action:       error404      # Change this to whatewer You want.

So if You want to change just template -- change just template. But if You want something more powerful -- change settings.yml and write custom code.

纵山崖 2024-10-09 15:07:49

您应该查看日志,了解为什么它找不到您的 404 操作、它正在寻找什么等。

You should watch the logs to see why it doesn't find your 404 action, what it's looking for, etc.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文