Authentication Error OpenAM - ADLDS datastore - openam
I am new to OpenAM, I configured AD LDS in my machine and it has list of users. I am trying to add ADAM as data store to OpenAM. Even i followed this documentation from OpenAM https://wikis.forgerock.org/confluence/display/openam/Configure+OpenAM+to+use+Active+Directory+for+Authentication+and+DataStore
After i followed instructions mentioned, but still when try to login using a AD user from OPEN AM i get “Authentication Failed”.
**can someone help me on this?
**LDRepo Error:****
ERROR: An error occurred while executing persistent search
org.forgerock.opendj.ldap.ReferralException: Referral: 0000202B: RefErr: DSID-031007EF, data 0, 1 access points
ref 1: ‘wealthcetera.local’
**Authenication Log Error:**
amAuth:01/18/2016 01:52:05:897 PM IST: Thread[http-apr-8080-exec-7,5,main]
LoginState: getIdentity performing IdRepo search to obtain AMIdentity
amAuth:01/18/2016 01:52:05:897 PM IST: Thread[http-apr-8080-exec-7,5,main]
Search for Identity Dhilip Swaminathan
amAuth:01/18/2016 01:52:05:897 PM IST: Thread[http-apr-8080-exec-7,5,main]
In searchAutehnticatedUser: idType IdType: user
amAuth:01/18/2016 01:52:05:897 PM IST: Thread[http-apr-8080-exec-7,5,main]
In getUserProfile : Search for user Dhilip Swaminathan
amAuth:01/18/2016 01:52:05:897 PM IST: Thread[http-apr-8080-exec-7,5,main]
alias attr=null, attr=[iplanet-am-auth-login-failure-url, iplanet-am-session-max-caching-time, preferredlocale, iplanet-am-session-max-session-time, nsaccountlock, iplanet-am-user-login-status, iplanet-am-auth-post-login-process-class, iplanet-am-session-max-idle-time, iplanet-am-user-success-url, iplanet-am-user-failure-url, inetuserstatus, iplanet-am-auth-login-success-url, iplanet-am-user-account-life, iplanet-am-user-alias-list],merge=[iplanet-am-auth-login-failure-url, iplanet-am-session-max-caching-time, preferredlocale, iplanet-am-session-max-session-time, nsaccountlock, iplanet-am-user-login-status, iplanet-am-auth-post-login-process-class, iplanet-am-session-max-idle-time, iplanet-am-user-success-url, iplanet-am-user-failure-url, inetuserstatus, iplanet-am-auth-login-success-url, iplanet-am-user-account-life, iplanet-am-user-alias-list]
amAuth:01/18/2016 01:52:05:897 PM IST: Thread[http-apr-8080-exec-7,5,main]
Search for Identity Dhilip Swaminathan
amAuth:01/18/2016 01:52:05:899 PM IST: Thread[http-apr-8080-exec-7,5,main]
In searchAutehnticatedUser: idType IdType: agent
amAuth:01/18/2016 01:52:05:899 PM IST: Thread[http-apr-8080-exec-7,5,main]
In getUserProfile : Search for user Dhilip Swaminathan
amAuth:01/18/2016 01:52:05:899 PM IST: Thread[http-apr-8080-exec-7,5,main]
alias attr=null, attr=[iplanet-am-auth-login-failure-url, iplanet-am-session-max-caching-time, preferredlocale, iplanet-am-session-max-session-time, nsaccountlock, iplanet-am-user-login-status, iplanet-am-auth-post-login-process-class, iplanet-am-session-max-idle-time, iplanet-am-user-success-url, iplanet-am-user-failure-url, inetuserstatus, iplanet-am-auth-login-success-url, iplanet-am-user-account-life, iplanet-am-user-alias-list],merge=[iplanet-am-auth-login-failure-url, iplanet-am-session-max-caching-time, preferredlocale, iplanet-am-session-max-session-time, nsaccountlock, iplanet-am-user-login-status, iplanet-am-auth-post-login-process-class, iplanet-am-session-max-idle-time, iplanet-am-user-success-url, iplanet-am-user-failure-url, inetuserstatus, iplanet-am-auth-login-success-url, iplanet-am-user-account-life, iplanet-am-user-alias-list]
amAuth:01/18/2016 01:52:05:899 PM IST: Thread[http-apr-8080-exec-7,5,main]
Search for Identity Dhilip Swaminathan
amAuth:01/18/2016 01:52:05:900 PM IST: Thread[http-apr-8080-exec-7,5,main]
result is :[]
amAuth:01/18/2016 01:52:05:900 PM IST: Thread[http-apr-8080-exec-7,5,main]
URL is :
amAuth:01/18/2016 01:52:05:900 PM IST: Thread[http-apr-8080-exec-7,5,main]
defaultURL : null
amAuth:01/18/2016 01:52:05:900 PM IST: Thread[http-apr-8080-exec-7,5,main]
tempDefaultURL : null
amAuth:01/18/2016 01:52:05:900 PM IST: Thread[http-apr-8080-exec-7,5,main]
defaultFailureURL : null
amAuth:01/18/2016 01:52:05:900 PM IST: Thread[http-apr-8080-exec-7,5,main]
getStatus : status is… : 4
amAuth:01/18/2016 01:52:05:900 PM IST: Thread[http-apr-8080-exec-7,5,main]
getStatus : status is… : 4
amAuthContextLocal:01/18/2016 01:52:05:900 PM IST: Thread[http-apr-8080-exec-7,5,main]
AuthContextLocal::submitRequirements end
amAuthContextLocal:01/18/2016 01:52:05:900 PM IST: Thread[http-apr-8080-exec-7,5,main]
Status at the end of submitRequirements() : failed
amAuthContextLocal:01/18/2016 01:52:05:900 PM IST: Thread[http-apr-8080-exec-7,5,main]
AuthContextLocal::hasMoreRequirements()
amAuth:01/18/2016 01:52:05:900 PM IST: Thread[http-apr-8080-exec-7,5,main]
getStatus : status is… : 4
amAuth:01/18/2016 01:52:05:900 PM IST: Thread[http-apr-8080-exec-7,5,main]
getStatus : status is… : 4
amAuthContextLocal:01/18/2016 01:52:05:900 PM IST: Thread[http-apr-8080-exec-7,5,main]
AuthContextLocal::getStatus()
amAuth:01/18/2016 01:52:05:900 PM IST: Thread[http-apr-8080-exec-7,5,main]
getStatus : status is… : 4
amAuth:01/18/2016 01:52:05:900 PM IST: Thread[http-apr-8080-exec-7,5,main]
getStatus : status is… : 4
amAuthContextLocal:01/18/2016 01:52:05:900 PM IST: Thread[http-apr-8080-exec-7,5,main]
AuthContextLocal:: Status : failed
amAuthContextLocal:01/18/2016 01:52:05:900 PM IST: Thread[http-apr-8080-exec-7,5,main]
AuthContextLocal::getStatus()
amAuth:01/18/2016 01:52:05:900 PM IST: Thread[http-apr-8080-exec-7,5,main]
getStatus : status is… : 4
amAuth:01/18/2016 01:52:05:900 PM IST: Thread[http-apr-8080-exec-7,5,main]
getStatus : status is… : 4
amAuthContextLocal:01/18/2016 01:52:05:900 PM IST: Thread[http-apr-8080-exec-7,5,main]
AuthContextLocal:: Status : failed
amAuthREST:01/18/2016 01:52:05:900 PM IST: Thread[http-apr-8080-exec-7,5,main]
Authentication failed – destroying new session
amAuthContextLocal:01/18/2016 01:52:05:900 PM IST: Thread[http-apr-8080-exec-7,5,main]
AuthContextLocal::getStatus()
amAuth:01/18/2016 01:52:05:900 PM IST: Thread[http-apr-8080-exec-7,5,main]
getStatus : status is… : 4
amAuth:01/18/2016 01:52:05:900 PM IST: Thread[http-apr-8080-exec-7,5,main]
getStatus : status is… : 4
amAuthContextLocal:01/18/2016 01:52:05:900 PM IST: Thread[http-apr-8080-exec-7,5,main]
AuthContextLocal:: Status : failed
amAuth:01/18/2016 01:52:05:900 PM IST: Thread[http-apr-8080-exec-7,5,main]
Error Code is.. : 102
I am assuming you are using the Active Directory auth module. If so, what value do you have for the "Attribute Used to Retrieve User Profile"? Do you have "Return User DN to DataStore" enabled or disabled?
Also, in your Data Store configuration, what are you using as your "Authentication Naming Attribute"?
It looks like authentication is successful but OpenAM is not able to find the user in the IdRepo (Data Store) afterwards.
Related
Find min and max values in Range
I need to prepare the student attendance sheet from zoom meeting data file. My data is something like this Name (Original Name) roll no. Join Time Leave Time Duration (Minutes) 002-Haseebuddin Shakir 002 22/01/2021 03:42:49 PM 22/01/2021 03:46:34 PM 4 002-Haseebuddin Shakir 002 22/01/2021 03:50:49 PM 22/01/2021 05:31:34 PM 100 003_Abdul Wasay 003 22/01/2021 03:53:51 PM 22/01/2021 04:31:30 PM 98 003_Abdul Wasay 003 22/01/2021 04:35:51 PM 22/01/2021 05:00:30 PM 60 003_Abdul Wasay 003 22/01/2021 05:01:51 PM 22/01/2021 05:31:30 PM 20 004_Ismail (04_Ismail) 004 22/01/2021 03:47:44 PM 22/01/2021 05:31:31 PM 104 005 saud 005 22/01/2021 03:51:07 PM 22/01/2021 05:31:43 PM 101 006-Akber (Akber-006) 006 22/01/2021 03:41:12 PM 22/01/2021 05:05:43 PM 85 I need help to find the 1st joined time, last left time and total of minutes. for understanding purpose used random figures. I have tried thru pivot table but getting date 1900 whenever I use min/max and even tried aggregate function but I am not that perfect using aggregate. Looking for output Name Roll no Join time Last leave time total no. min's 002-Haseebuddin Shakir 002 22/01/2021 03:42:49 PM 22/01/2021 05:31:34 PM 104 003_Abdul Wasay 003 22/01/2021 03:53:51 PM 22/01/2021 05:00:30 PM 178
I propose a powerquery/powerpivot solution like this - remove auto filter select data from table on get&transform group on Data tab it will look like this select name and rollnum both, rightclick group-by. add aggregations like the screenshot close and load the data back (it will automatically load to a new sheet in same book) Note I think you'll these aggregations for each of the day for each of the roll number. It is therefore, advised that create a separate column of date before loading the data into powerquery window and thereafter groupby on name rollnum and date columns.
Change various strings to timestamp Python 3?
Given all possible time formats I can get from my user (chatbot): 09:03 9:23A.M. 9:23 A.m. 13:44 pm 20:00 P.m 15:40 00:00 12:33 4:33p.M ... I want to convert them to appropriate time. There won't be one format I can use. Please advise how to solve such issue? I have tried with strptime from the datetime package but I need to specify format and it can be different every time.
Find my answer thanks to this amazing source! Posting for others: dateutil The dateutil module is an extension to the datetime module. We don't need to pass any parsing code to parse a string. For example: from dateutil.parser import parse datetime = parse('2018-06-29 22:21:41') print(datetime) This parse function will parse the string automatically and store it in the datetime variable. Parsing is done automatically. You don't have to mention any format string. Let's try to parse different types of strings using dateutil: from dateutil.parser import parse date_array = [ '2018-06-29 08:15:27.243860', 'Jun 28 2018 7:40AM', 'Jun 28 2018 at 7:40AM', 'September 18, 2017, 22:19:55', 'Sun, 05/12/1999, 12:30PM', 'Mon, 21 March, 2015', '2018-03-12T10:12:45Z', '2018-06-29 17:08:00.586525+00:00', '2018-06-29 17:08:00.586525+05:00', 'Tuesday , 6th September, 2017 at 4:30pm' ] for date in date_array: print('Parsing: ' + date) dt = parse(date) print(dt.date()) print(dt.time()) print(dt.tzinfo) print('\n') Output: $ python3 dateutil-1.py Parsing: 2018-06-29 08:15:27.243860 2018-06-29 08:15:27.243860 None Parsing: Jun 28 2018 7:40AM 2018-06-28 07:40:00 None Parsing: Jun 28 2018 at 7:40AM 2018-06-28 07:40:00 None Parsing: September 18, 2017, 22:19:55 2017-09-18 22:19:55 None Parsing: Sun, 05/12/1999, 12:30PM 1999-05-12 12:30:00 None Parsing: Mon, 21 March, 2015 2015-03-21 00:00:00 None Parsing: 2018-03-12T10:12:45Z 2018-03-12 10:12:45 tzutc() Parsing: 2018-06-29 17:08:00.586525+00:00 2018-06-29 17:08:00.586525 tzutc() Parsing: 2018-06-29 17:08:00.586525+05:00 2018-06-29 17:08:00.586525 tzoffset(None, 18000) Parsing: Tuesday , 6th September, 2017 at 4:30pm 2017-09-06 16:30:00 None You can see that almost any type of string can be parsed easily using the dateutil module. Maya Maya also makes it very easy to parse a string and for changing timezones. Some simple examples are shown below: import maya dt = maya.parse('2018-04-29T17:45:25Z').datetime() print(dt.date()) print(dt.time()) print(dt.tzinfo) Output: $ python3 maya-1.py 2018-04-29 17:45:25 UTC For converting the time to a different timezone: import maya dt = maya.parse('2018-04-29T17:45:25Z').datetime(to_timezone='America/New_York', naive=False) print(dt.date()) print(dt.time()) print(dt.tzinfo) Output: $ python3 maya-2.py 2018-04-29 13:45:25 America/New_York Now isn't that easy to use? Let's try out maya with the same set of strings we have used with dateutil: import maya date_array = [ '2018-06-29 08:15:27.243860', 'Jun 28 2018 7:40AM', 'Jun 28 2018 at 7:40AM', 'September 18, 2017, 22:19:55', 'Sun, 05/12/1999, 12:30PM', 'Mon, 21 March, 2015', '2018-03-12T10:12:45Z', '2018-06-29 17:08:00.586525+00:00', '2018-06-29 17:08:00.586525+05:00', 'Tuesday , 6th September, 2017 at 4:30pm' ] for date in date_array: print('Parsing: ' + date) dt = maya.parse(date).datetime() print(dt) print(dt.date()) print(dt.time()) print(dt.tzinfo) Output: $ python3 maya-3.py Parsing: 2018-06-29 08:15:27.243860 2018-06-29 08:15:27.243860+00:00 2018-06-29 08:15:27.243860 UTC Parsing: Jun 28 2018 7:40AM 2018-06-28 07:40:00+00:00 2018-06-28 07:40:00 UTC Parsing: Jun 28 2018 at 7:40AM 2018-06-28 07:40:00+00:00 2018-06-28 07:40:00 UTC Parsing: September 18, 2017, 22:19:55 2017-09-18 22:19:55+00:00 2017-09-18 22:19:55 UTC Parsing: Sun, 05/12/1999, 12:30PM 1999-05-12 12:30:00+00:00 1999-05-12 12:30:00 UTC Parsing: Mon, 21 March, 2015 2015-03-21 00:00:00+00:00 2015-03-21 00:00:00 UTC Parsing: 2018-03-12T10:12:45Z 2018-03-12 10:12:45+00:00 2018-03-12 10:12:45 UTC Parsing: 2018-06-29 17:08:00.586525+00:00 2018-06-29 17:08:00.586525+00:00 2018-06-29 17:08:00.586525 UTC Parsing: 2018-06-29 17:08:00.586525+05:00 2018-06-29 12:08:00.586525+00:00 2018-06-29 12:08:00.586525 UTC Parsing: Tuesday , 6th September, 2017 at 4:30pm 2017-09-06 16:30:00+00:00 2017-09-06 16:30:00 UTC As you can see, all date formats were parsed, but did you notice the difference? If we are not providing the timezone info it automatically converts it to UTC. So, it is important to note that we need to provide to_timezone and naive parameters if the time is not in UTC.
How do I find a list of available timeslots given scheduled dates from list in Excel/VBA sheet?
I have a list of scheduled appointments already and want to be able to show all possible timeslots available between 7:30 AM - 5:00 PM for a 2 hour appointment. I've tried a visual and been able to get it through a hack, but I need to get it to work just from reading the below table SCHEDULED APPOINTMENTS |---------------------|-------------------| | Start Date/Time | End Date/Time | | 6/12/2019 7:30 AM | 6/12/2019 8:30 AM | | 6/12/2019 8:45 AM | 6/12/2019 9:15 AM | | 6/12/2019 3:00 PM | 6/12/2019 3:30 PM | | 6/12/2019 3:45 PM | 6/12/2019 4:15 PM | | 6/12/2019 4:15 PM | 6/12/2019 5:00 PM | |---------------------|-------------------| EXPECTED OUTCOME: 6/12/2019 9:15 AM 6/12/2019 9:30 AM 6/12/2019 9:45 AM 6/12/2019 10:00 AM 6/12/2019 10:15 AM 6/12/2019 10:30 AM 6/12/2019 10:45 AM 6/12/2019 11:00 AM 6/12/2019 11:15 AM 6/12/2019 11:30 AM 6/12/2019 11:45 AM 6/12/2019 12:00 PM 6/12/2019 12:15 PM 6/12/2019 12:30 PM 6/12/2019 12:45 PM 6/12/2019 1:00 PM
To get just that list directly would require VBA, which is possible, but StackOverflow is not a write-your-code-for you service. We would help if you got stuck with your code, but you need to know how to code in the first place and have made a start. That said, if you accept a slightly easier solution, then a single formula can give you your desired result: Convert your appointments range to a data table with column headings "Start" and "End" Set the table name to "Appointments" Store your new appointment length (2) in a cell and give it the name "Length" Create a list of every possible appointment start time, starting from A1 Enter this formula next to the first time in B1, and save it by pressing CTRL+SHIFT+ENTER: =AND((ROUND(Appointments[Start],4)>=ROUND(A1+Length/24,4))+(ROUND(Appointments[End],4)<=ROUND(A1,4)),ROUND(A1-TRUNC(A1),4)<=ROUND((17-Length)/24,4)) Then fill down that formula against every time slot and it will say TRUE for the available time slots. For each possible time slot, the formula checks that all existing appointments finish on or before the time slot or start 2 or more hours after the time slot. It also checks that there are at least 2 hours left in the day before finishing at 5pm. The formula handles different lengths required for the new appointment by changing the value in the "length" cell. The ROUND functions are added to eliminate issues with floating point precision on fractions/times not always correctly identifying when 2 times are the same.
Convert Excel Serial Date in Log Parser
I'm converting Excel serial dates (OA dates) in Log Parser. I have this query: SELECT TOP 10 Field1 as ExcelSerialDate, /* days since 1900-01-01 */ to_timestamp('1900-01-01 00:00:00', 'yyyy-MM-dd hh:mm:ss') as BaseDate, mul(sub(to_real(Field1),2.0),86400.0) as SecondsFromBase, add(to_localtime(to_timestamp('1900-01-01 00:00:00', 'yyyy-MM-dd hh:mm:ss')), to_timestamp(mul(sub(to_real(Field1),2.0),86400.0))) as Date FROM 'MyData.txt' where MyData.txt just contains an Excel serial date per line: ExcelSerialDate 42397.6668676968 42397.6663989236 42397.664126875 42397.6668321065 42397.6668733565 42397.6668907523 42397.6668711921 42397.6657181597 42397.666233044 42397.6654758681 ... It gives output ExcelSerialDate BaseDate SecondsFromBase Date 42397.6668676968 01/01/00 12:00:00 AM 3662985617.369 28/01/16 04:00:17 PM 42397.6663989236 01/01/00 12:00:00 AM 3662985576.867 28/01/16 03:59:36 PM 42397.664126875 01/01/00 12:00:00 AM 3662985380.562 28/01/16 03:56:20 PM 42397.6668321065 01/01/00 12:00:00 AM 3662985614.294 28/01/16 04:00:14 PM 42397.6668733565 01/01/00 12:00:00 AM 3662985617.858 28/01/16 04:00:17 PM 42397.6668907523 01/01/00 12:00:00 AM 3662985619.361 28/01/16 04:00:19 PM 42397.6668711921 01/01/00 12:00:00 AM 3662985617.671 28/01/16 04:00:17 PM 42397.6657181597 01/01/00 12:00:00 AM 3662985518.049 28/01/16 03:58:38 PM 42397.666233044 01/01/00 12:00:00 AM 3662985562.535 28/01/16 03:59:22 PM 42397.6654758681 01/01/00 12:00:00 AM 3662985497.115 28/01/16 03:58:17 PM which is correct. Is this the best way? I have two subtract 2 days from the serial date before creating the timestamp and adding that to the base date of 1900-01-01, and that seems counterintuitive.
Finding out total worked hours and minutes formula
FROM TO FROM TO FROM TO 7:30 AM 2:00 PM 2:40 PM 2:40 PM 6:30 PM 12:00 AM 7:30 AM 2:00 PM 2:40 PM 2:40 PM 6:30 PM 12:00 AM 7:30 AM 2:00 PM 2:40 PM 2:40 PM 6:30 PM 12:00 AM HOUR(H2-C2)& "h"&MINUTE(H2-C2)&"m") HOUR(F2-E2)&"h") Can you check what is the error in this formula: (HOUR(H2-C2)& "h"&MINUTE(H2-C2)&"m")-(HOUR(F2-E2)&"h"& MINUTE(F2-E2)&"M") I want the total hours worked by each person in this format: 12h48m
Don't you need the time between C2 and D2 added to the time between G2 and H2, that's what it looks like from your screenshot? You can also add in the difference between E2 and F2 if that's likely to be non-zero You can use MOD function to handle times passing/on midnight, e.g. =MOD(D2-C2,1)+MOD(H2-G2,1)+MOD(F2-E2,1) Custom format result cell as [h]:mm and you'll get 12:00, I'm not sure why it would be 12:48. If you actually want it to display as 12h00m then use a custom format for the result cell of [h]"h"mm"m"