我想要受保护的网址 /admin/和我使用symfony书,但不工作罚款,我有用户不是用户捆绑只是实体用户和字段角色=ROLE_ADMIN或ROLE_USER,ROLE_FREELANCER。我有SecurityBundle在标准完成。现在,如果我输入的开发人员有ROLE_FREELNANCER我去这个角色的行动,但如果我过去的网址admin/Tim/dashboard这个开发人员输入这个网址,这是错误的。请帮助。这是我的安全:
security:
encoders:
Artel\ProfileBundle\Entity\Users:
algorithm: sha1
encode_as_base64: false
iterations: 1
Artel\ProfileBundle\Entity\Developer:
algorithm: sha1
encode_as_base64: false
iterations: 1
Symfony\Component\Security\Core\User\User: plaintext
role_hierarchy:
ROLE_CLIENT: ROLE_USER
ROLE_COMPANY: ROLE_USER
ROLE_FREELANCER: ROLE_USER
ROLE_ADMIN: ROLE_ADMIN
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_MODERATOR, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
providers:
chain_provider:
chain:
providers: [user_db, user_dev, in_memory]
providers: [user_dev, in_memory]
user_db:
entity: { class: Artel\ProfileBundle\Entity\Users, property: email }
user_dev:
entity: { class: Artel\ProfileBundle\Entity\Developer, property: email }
in_memory:
memory:
users:
admin_tyty: { password: adminpass_tyty, roles: [ 'ROLE_ADMIN' ] }
firewalls:
default:
anonymous: ~
http_basic: ~
form_login:
login_path: /login
check_path: /login_check
logout:
path: /logout
invalidate_session: false
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: /admin/(.*), roles: ROLE_ADMIN }
还有我的行动
class SecurityController extends Controller
{
public function loginAction(Request $request)
{
$authenticationUtils = $this->get('security.authentication_utils');
// get the login error if there is one
$error = $authenticationUtils->getLastAuthenticationError();
// last username entered by the user
$lastUsername = $authenticationUtils->getLastUsername();
return $this->render('ArtelProfileBundle:Security:login.html.twig',
array(
// last username entered by the user
'last_username' => $lastUsername,
'home_page' => $this->container->getParameter('home_page'),
'phone_in_header' => $this->container->getParameter('phone_in_header'),
'error' => $error,
'db_url' => $this->container->getParameter('db_url'),
'api_url' => $this->container->getParameter('api_url'),
'mauth_url' => $this->container->getParameter('mauth_url'),
'gaID' => $this->container->getParameter('gaID'),
'ymID' => $this->container->getParameter('ymID')
)
);
}
public function securityCheckAction()
{
// Роут
}
public function indexAction()
{
$securityContext = $this->container->get('security.context');
if ( $securityContext->isGranted('IS_AUTHENTICATED_FULLY') == false ) {
return $this->redirect($this->generateUrl('login_route'));
}
$role = $this->getUser()->getRoles();
if($role[0] == 'ROLE_FREELANCER')
{
return $this->redirect($this->generateUrl('artel_profile_homepage', array('username' => $this->getUser()->getUsername())));
}
elseif($role[0] == 'ROLE_COMPANY')
{
return $this->redirect($this->generateUrl('artel_user_profile_homepage', array('username' => $this->getUser()->getUsername())));
}
if($role[0] == 'ROLE_ADMIN')
{
return $this->redirect($this->generateUrl('admin_tim_dashboard'));
}
else
return $this->render('default/index.html.twig');
}
您的访问控制设置允许执行此操作。规则的变更顺序:
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/, role: ROLE_ADMIN }
- { path: ^/, roles: IS_AUTHENTICATED_ANONYMOUSLY }
即使我在Mule EE上运行,Mule Security Manager依赖性也没有得到解决。代码如下: http://www.mulesoft.org/schema/mule/spring-security http://www.mulesoft.org/schema/mule/spring-security/current/mule-spring-security.xsd http://www
有没有办法给管理servlet增加登录安全性? 似乎在V0.7中,您可以将以下两个添加到您的yaml文件中: 然而,我在最新版本(0.9.2)中尝试了,它给我一个错误,说:server.yaml有一个错误: 这是我拥有的:
1. 前言 安全管理是软件系统必不可少的的功能。根据经典的 “墨菲定律”—— 凡是可能,总会发生。如果系统存在安全隐患,最终必然会出现问题。 本节就来演示下,如何使用 Spring Boot + Spring Security 开发前后端分离的权限管理功能。 2. Spring Security 用法简介 作为一个知名的安全管理框架, Spring Security 对安全管理功能的封装已经非常完
Kuberentes 支持多租户,这就需要对集群的安全性进行管理。
目的 管理特定用户访问和创建工程的能力,并基于工程进行安全限制。 环境 openshift v3.11.16/kubernetes v1.11.0 步骤 创建两个用户登录到 Master 节点,创建两个用户 # htpasswd -b /etc/origin/master/htpasswd user1 redhat # htpasswd -b /etc/origin/master/htpasswd
我正在努力学习Symfony的角色和安全性。我当前的security.yml文件如下所示: 我正在为我的用户使用这个设置: 这是我的问题。我一直缺少安全性的访问控制部分,但是,角色标记为ROLE\u admin的路径将允许用户person访问路由,即使该用户没有ROLE\u admin的角色。我想知道这是否是因为路由本身与路由由同一控制器共享?或者有人看到我的代码哪里出了问题,因为用户可以访问他们