Skip to content

Correct the Basic-auth docs: Windows accepts bare local account names only - #173

Merged
bertysentry merged 2 commits into
mainfrom
docs/basic-local-accounts-only
Sep 5, 2026
Merged

bertysentry merged 2 commits into
mainfrom
docs/basic-local-accounts-only

Conversation

@bertysentry

Copy link
Copy Markdown
Contributor

Fixes #172.

Real-host testing (Windows Server 2008 R2, Basic=true on the service, HTTPS transport) shows the 2.2.00 Basic-authentication docs are wrong about accounts: the WinRM service accepts Basic for local accounts only, addressed by their bare user name. A domain account is rejected, and so is a local account written as MACHINE\user — the same valid credential that succeeds bare gets a 401 once qualified. The docs and CHANGELOG claimed the opposite ("a domain-qualified user name keeps its domain prefix on the wire; the server locates the account by it").

Docs-and-comments-only change:

  • authentication.md: the Basic section now states the local-accounts/bare-name constraint (and the example uses credentials("Administrator", …) instead of the domain-qualified form, which cannot work against Windows); adds a note that every server-side Basic refusal — qualified or domain account, Basic disabled, unencrypted HTTP — surfaces as the same 401, indistinguishable from a wrong password.
  • cli.md, preparing-the-host.md, migrating-from-winrm4j.md: same correction, one sentence each.
  • CHANGELOG: the domain-prefix bullet under the Basic section replaced with the verified behavior.
  • BasicAuthScheme / LightWinRMService: the two code comments repeating the claim corrected. No behavior change — the client still sends a qualified name verbatim, for non-Microsoft WSMan services that accept one.

mvn verify site green: 235 tests pass, 0 Checkstyle/PMD/SpotBugs findings.

🤖 Generated with Claude Code

… only (#172)

Tested against a real Windows host (2008 R2, Basic=true, HTTPS): the WinRM
service accepts Basic for LOCAL accounts only, addressed by their bare user
name. A domain account is rejected, and so is a local account written as
MACHINE\user - the same valid credential that succeeds bare gets a 401 once
qualified. The docs and CHANGELOG claimed the opposite ("a domain-qualified
name keeps its domain prefix, which is how the server locates the account"),
so correct authentication.md (including its DOMAIN\Administrator example,
which cannot work against Windows), cli.md, preparing-the-host.md,
migrating-from-winrm4j.md, the CHANGELOG bullet, and the two code comments
repeating the claim. The client still sends a qualified name verbatim, for
non-Microsoft WSMan services that accept one.

Also note in authentication.md that every server-side Basic refusal
(qualified or domain account, Basic disabled, unencrypted HTTP) surfaces as
the same 401, indistinguishable from a wrong password.

Fixes #172

Co-Authored-By: Claude Fable 5 <[email protected]>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 5, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-05T13:32:49.466221Z 8eb92c6 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 0d91c3c61e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/site/markdown/authentication.md Outdated
…view)

Over plain HTTP with AllowUnencrypted=false, the service may authenticate
the Basic credential and then reject the unprotected SOAP with an HTTP 500
WSMan fault, which this client surfaces as a fault, not an authentication
error. A 401 was what the real-host test observed on Server 2008 R2, so
keep both outcomes in the note instead of grouping the misconfiguration
with credential rejections.

Co-Authored-By: Claude Fable 5 <[email protected]>
@bertysentry
bertysentry merged commit 6e4d641 into main Sep 5, 2026
5 checks passed
@bertysentry
bertysentry deleted the docs/basic-local-accounts-only branch September 5, 2026 18:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Basic authentication docs wrongly claim domain-qualified accounts work

1 participant