Revision: 92
http://sourceforge.net/p/beeframework/code/92
Author: m_plomer
Date: 2013-09-24 17:45:47 +0000 (Tue, 24 Sep 2013)
Log Message:
-----------
- SimpleUserDetailsService : adding / removing users
Modified Paths:
--------------
trunk/framework/Bee/Security/UserDetails/Doctrine2/SimpleUserDetailsService.php
Modified: trunk/framework/Bee/Security/UserDetails/Doctrine2/SimpleUserDetailsService.php
===================================================================
--- trunk/framework/Bee/Security/UserDetails/Doctrine2/SimpleUserDetailsService.php 2013-09-23 17:18:24 UTC (rev 91)
+++ trunk/framework/Bee/Security/UserDetails/Doctrine2/SimpleUserDetailsService.php 2013-09-24 17:45:47 UTC (rev 92)
@@ -23,26 +23,6 @@
private $userEntityName = 'Bee\Security\UserDetails\Doctrine2\SimpleUser';
/**
- * Locates the user based on the username. In the actual implementation, the search may possibly be case
- * insensitive, or case insensitive depending on how the implementaion instance is configured. In this case, the
- * <code>Bee_Security_IUserDetails</code> object that comes back may have a username that is of a different case
- * than what was actually requested.
- *
- * @param $username
- * @throws \Bee_Security_Exception_UsernameNotFound
- * @return Bee_Security_IUserDetails a fully populated user record (never <code>null</code>)
- */
- function loadUserByUsername($username) {
- try {
- return $this->entityManager
- ->createQuery('SELECT u FROM ' . $this->getUserEntityName() . ' u WHERE u.username = :username')
- ->setParameter('username', $username)->getSingleResult();
- } catch (NoResultException $e) {
- throw new Bee_Security_Exception_UsernameNotFound('User name ' . $username . ' not found', null, $e);
- }
- }
-
- /**
* @param EntityManager $entityManager
*/
public function setEntityManager(EntityManager $entityManager) {
@@ -71,14 +51,54 @@
}
/**
+ * Locates the user based on the username. In the actual implementation, the search may possibly be case
+ * insensitive, or case insensitive depending on how the implementaion instance is configured. In this case, the
+ * <code>Bee_Security_IUserDetails</code> object that comes back may have a username that is of a different case
+ * than what was actually requested.
*
+ * @param $username
+ * @throws \Bee_Security_Exception_UsernameNotFound
+ * @return Bee_Security_IUserDetails a fully populated user record (never <code>null</code>)
*/
+ function loadUserByUsername($username) {
+ try {
+ return $this->getEntityManager()
+ ->createQuery('SELECT u FROM ' . $this->getUserEntityName() . ' u WHERE u.username = :username')
+ ->setParameter('username', $username)->getSingleResult();
+ } catch (NoResultException $e) {
+ throw new Bee_Security_Exception_UsernameNotFound('User name ' . $username . ' not found', null, $e);
+ }
+ }
+
+ /**
+ * @return UserBase[]
+ */
public function listUsers() {
- return $this->entityManager->
+ return $this->getEntityManager()->
createQuery('SELECT u FROM ' . $this->getUserEntityName() . ' u ORDER BY u.username ASC')->execute();
}
+ /**
+ * @param $id
+ * @return null|UserBase
+ */
public function loadById($id) {
- return $this->entityManager->find($this->getUserEntityName(), $id);
+ return $this->getEntityManager()->find($this->getUserEntityName(), $id);
}
+
+ /**
+ * @param UserBase $user
+ */
+ public function addUser(UserBase $user) {
+ $this->getEntityManager()->persist($user);
+ $this->getEntityManager()->flush($user);
+ }
+
+ /**
+ * @param UserBase $user
+ */
+ public function removeUser(UserBase $user) {
+ $this->getEntityManager()->remove($user);
+ $this->getEntityManager()->flush($user);
+ }
}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|