5
5
*/
6
6
namespace Magento \Backend \Model \Auth ;
7
7
8
- use Magento \Framework \Acl ;
9
- use Magento \Framework \AclFactory ;
10
- use Magento \Framework \App \ObjectManager ;
11
8
use Magento \Framework \Stdlib \Cookie \CookieMetadataFactory ;
12
9
use Magento \Framework \Stdlib \CookieManagerInterface ;
13
- use Magento \Backend \Spi \SessionUserHydratorInterface ;
14
- use Magento \Backend \Spi \SessionAclHydratorInterface ;
15
- use Magento \User \Model \User ;
16
- use Magento \User \Model \UserFactory ;
17
10
18
11
/**
19
12
* Backend Auth session model
20
13
*
21
14
* @api
15
+ * @method \Magento\User\Model\User|null getUser()
16
+ * @method \Magento\Backend\Model\Auth\Session setUser(\Magento\User\Model\User $value)
17
+ * @method \Magento\Framework\Acl|null getAcl()
18
+ * @method \Magento\Backend\Model\Auth\Session setAcl(\Magento\Framework\Acl $value)
22
19
* @method int getUpdatedAt()
23
20
* @method \Magento\Backend\Model\Auth\Session setUpdatedAt(int $value)
24
21
*
25
22
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
26
- * @SuppressWarnings(PHPMD.CookieAndSessionMisuse)
27
23
* @todo implement solution that keeps is_first_visit flag in session during redirects
28
24
* @api
29
25
* @since 100.0.2
@@ -59,36 +55,6 @@ class Session extends \Magento\Framework\Session\SessionManager implements \Mage
59
55
*/
60
56
protected $ _config ;
61
57
62
- /**
63
- * @var SessionUserHydratorInterface
64
- */
65
- private $ userHydrator ;
66
-
67
- /**
68
- * @var SessionAclHydratorInterface
69
- */
70
- private $ aclHydrator ;
71
-
72
- /**
73
- * @var UserFactory
74
- */
75
- private $ userFactory ;
76
-
77
- /**
78
- * @var AclFactory
79
- */
80
- private $ aclFactory ;
81
-
82
- /**
83
- * @var User|null
84
- */
85
- private $ user ;
86
-
87
- /**
88
- * @var Acl|null
89
- */
90
- private $ acl ;
91
-
92
58
/**
93
59
* @param \Magento\Framework\App\Request\Http $request
94
60
* @param \Magento\Framework\Session\SidResolverInterface $sidResolver
@@ -103,10 +69,6 @@ class Session extends \Magento\Framework\Session\SessionManager implements \Mage
103
69
* @param \Magento\Backend\Model\UrlInterface $backendUrl
104
70
* @param \Magento\Backend\App\ConfigInterface $config
105
71
* @throws \Magento\Framework\Exception\SessionException
106
- * @param SessionUserHydratorInterface|null $userHydrator
107
- * @param SessionAclHydratorInterface|null $aclHydrator
108
- * @param UserFactory|null $userFactory
109
- * @param AclFactory|null $aclFactory
110
72
* @SuppressWarnings(PHPMD.ExcessiveParameterList)
111
73
*/
112
74
public function __construct (
@@ -121,19 +83,11 @@ public function __construct(
121
83
\Magento \Framework \App \State $ appState ,
122
84
\Magento \Framework \Acl \Builder $ aclBuilder ,
123
85
\Magento \Backend \Model \UrlInterface $ backendUrl ,
124
- \Magento \Backend \App \ConfigInterface $ config ,
125
- ?SessionUserHydratorInterface $ userHydrator = null ,
126
- ?SessionAclHydratorInterface $ aclHydrator = null ,
127
- ?UserFactory $ userFactory = null ,
128
- ?AclFactory $ aclFactory = null
86
+ \Magento \Backend \App \ConfigInterface $ config
129
87
) {
130
88
$ this ->_config = $ config ;
131
89
$ this ->_aclBuilder = $ aclBuilder ;
132
90
$ this ->_backendUrl = $ backendUrl ;
133
- $ this ->userHydrator = $ userHydrator ?? ObjectManager::getInstance ()->get (SessionUserHydratorInterface::class);
134
- $ this ->aclHydrator = $ aclHydrator ?? ObjectManager::getInstance ()->get (SessionAclHydratorInterface::class);
135
- $ this ->userFactory = $ userFactory ?? ObjectManager::getInstance ()->get (UserFactory::class);
136
- $ this ->aclFactory = $ aclFactory ?? ObjectManager::getInstance ()->get (AclFactory::class);
137
91
parent ::__construct (
138
92
$ request ,
139
93
$ sidResolver ,
@@ -276,16 +230,6 @@ public function processLogin()
276
230
return $ this ;
277
231
}
278
232
279
- /**
280
- * @inheritDoc
281
- */
282
- public function destroy (array $ options = null )
283
- {
284
- $ this ->user = null ;
285
- $ this ->acl = null ;
286
- parent ::destroy ($ options );
287
- }
288
-
289
233
/**
290
234
* Process of configuring of current auth storage when logout was performed
291
235
*
@@ -309,136 +253,4 @@ public function isValidForPath($path)
309
253
{
310
254
return true ;
311
255
}
312
-
313
- /**
314
- * Logged-in user.
315
- *
316
- * @return User|null
317
- */
318
- public function getUser ()
319
- {
320
- if (!$ this ->user ) {
321
- $ userData = $ this ->getUserData ();
322
- if ($ userData ) {
323
- /** @var User $user */
324
- $ user = $ this ->userFactory ->create ();
325
- $ this ->userHydrator ->hydrate ($ user , $ userData );
326
- $ this ->user = $ user ;
327
- }
328
- }
329
-
330
- return $ this ->user ;
331
- }
332
-
333
- /**
334
- * Set logged-in user instance.
335
- *
336
- * @param User|null $user
337
- * @return Session
338
- */
339
- public function setUser ($ user )
340
- {
341
- $ this ->setUserData (null );
342
- if ($ user ) {
343
- $ this ->setUserData ($ this ->userHydrator ->extract ($ user ));
344
- }
345
- $ this ->user = $ user ;
346
-
347
- return $ this ;
348
- }
349
-
350
- /**
351
- * Is user logged in?
352
- *
353
- * @return bool
354
- */
355
- public function hasUser ()
356
- {
357
- return $ this ->user || $ this ->hasUserData ();
358
- }
359
-
360
- /**
361
- * Remove logged-in user.
362
- *
363
- * @return Session
364
- */
365
- public function unsUser ()
366
- {
367
- $ this ->user = null ;
368
- return $ this ->unsUserData ();
369
- }
370
-
371
- /**
372
- * Logged-in user's ACL data.
373
- *
374
- * @return Acl|null
375
- */
376
- public function getAcl ()
377
- {
378
- if (!$ this ->acl ) {
379
- $ aclData = $ this ->getUserAclData ();
380
- if ($ aclData ) {
381
- /** @var Acl $acl */
382
- $ acl = $ this ->aclFactory ->create ();
383
- $ this ->aclHydrator ->hydrate ($ acl , $ aclData );
384
- $ this ->acl = $ acl ;
385
- }
386
- }
387
-
388
- return $ this ->acl ;
389
- }
390
-
391
- /**
392
- * Set logged-in user's ACL data instance.
393
- *
394
- * @param Acl|null $acl
395
- * @return Session
396
- */
397
- public function setAcl ($ acl )
398
- {
399
- $ this ->setUserAclData (null );
400
- if ($ acl ) {
401
- $ this ->setUserAclData ($ this ->aclHydrator ->extract ($ acl ));
402
- }
403
- $ this ->acl = $ acl ;
404
-
405
- return $ this ;
406
- }
407
-
408
- /**
409
- * Whether ACL data is present.
410
- *
411
- * @return bool
412
- */
413
- public function hasAcl ()
414
- {
415
- return $ this ->acl || $ this ->hasUserAclData ();
416
- }
417
-
418
- /**
419
- * Remove ACL data.
420
- *
421
- * @return Session
422
- */
423
- public function unsAcl ()
424
- {
425
- $ this ->acl = null ;
426
- return $ this ->unsUserAclData ();
427
- }
428
-
429
- /**
430
- * @inheritDoc
431
- */
432
- public function writeClose ()
433
- {
434
- //Updating data in session in case these objects has been changed.
435
- if ($ this ->user ) {
436
- $ this ->setUser ($ this ->user );
437
- }
438
- if ($ this ->acl ) {
439
- $ this ->setAcl ($ this ->acl );
440
- }
441
-
442
- parent ::writeClose ();
443
- }
444
256
}
0 commit comments